Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Group BY, ale pobierając dane z wiersza o wyższej wartości
llukasz
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 15.05.2007

Ostrzeżenie: (0%)
-----


Witam

Mam tabelę, w której znajdują się rekordy z powtórzonymi ID ale innymi parametrami NUMER i jakimiś innymi wartościami które chcę pobrać

Chcę pobrać te inne wartości, tylko raz dla każdego ID, ale klucz ma być taki, że NUMER musi wynosić 1 lub 2 a jeśli obie wartości istnieją to chcę pobrać ten rekord z większą wartością czyli 2.


Jak to wykonać?


przyklad

id , numer , cos-tam
1 , 1 , y
1 , 2 , u
1 , 3 , i

z tego powinno wyrzucic mi 'u'

id , numer , cos-tam
1 , 1 , y
1 , 3 , i

z tego 'y'

id , numer , cos-tam
1 2 , u
1 , 3 , i

z tego 'u'

Ten post edytował llukasz 8.04.2010, 22:22:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wojckr
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 6.05.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Możliwe, że to zadziała, ale może nie być szybkie:
  1. SELECT * FROM
  2. (SELECT *
  3. FROM tabela
  4. WHERE (numer=1 OR numer=2)
  5. ORDER BY numer DESC)
  6. AS tymczasowa
  7. GROUP BY tymczasowa.id


Np. takie zapytanie:
  1. SELECT CONCAT(id,numer) AS klucz FROM tabela

da coś na kształt unikalnego klucza, może być pomocne.

Ten post edytował wojckr 9.04.2010, 10:33:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 08:54