Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciąganie z DISTINCT
Forum PHP.pl > Forum > Bazy danych
menic
Mam w tabeli 2 pola. id i poz.
Teraz chciałbym aby zapytanie zwrociło mi unikalne wartości z pola poz. Czyli należy użyć DISTINCT. Ale oprócz tych unikalnych pól musi mi również zwrócić liste wszystkich id. Ma ktos pomysł jak to zrobić?
Próbowałem normalnie [sql:1:6aad75497d]SELECT DISTINCT poz, id FROM tabela[/sql:1:6aad75497d]
Ale wtedy nie zwracał mi unikalnych wartości z poz :?
adwol
DISTINCT usuwa z wyniku powtarzające się wiersze, dlatego też jeśli selectujesz oba pola to nie będzie powtarzać się para (id, poz) ale poszczególne wartości już tak.

Da się to rozwiązać za pomocą GROUP BY, ale opisz dokładniej co chcesz uzyskać gdy dwa różne id mają tą samą wartość poz. Dowolną z występujących wartości poz, pierwsza, średnią, czy jeszcze inną?
[sql:1:bb4a9a60a5]select id, poz from tabela group by poz[/sql:1:bb4a9a60a5]
switch
Może zastosuj jedno z dwóch:
Kod
SELECT id, poz FROM tabela GROUP BY id


Lub
Kod
SELECT id, poz FROM tabela GROUP BY poz


P.S. jak widzę byli szybsi niz ja o dwie minuty POZDRAWIAM 8) 8) 8)
menic
struktura tabeli
Kod
| id | poz |

| 1 | top  |

| 2 | left  |

| 3 | right|

| 4 | top  |

| 5 | left  |

I teraz chciałbym aby mi zwróciło wszystkie id czyli 1, 2, 3, 4, 5 oraz z poz top, left, right
Co użyc aby ładnie formatowac takie tabelki winksmiley.jpg
uboottd
A jak chcesz zwrocic inna ilosc wierszy dla roznych kolumn ?

Tak postawionego problemu jednym zapytaniem nie rozwiazesz.
A dwoma to pewnie wiesz jak.
menic
dwoma to nie ma problemu winksmiley.jpg
A nie da sie tak żeby np. powtarzające sie rekordy zastąpił np. zerem, lub ustawił jako NULL :?:
uboottd
Nie. wszystkie warunki obowiazuja w obrebie wiersza jakie w jakim sa sprawdzane, wiec nijak nie stwierdzisz czy dana wartosc juz zostala wyslana do klienta czy nie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.