2012-08-22 18 views
17

Próbuję wybrać wiersz z wyraźnym id, ale zwróć wszystkie pola.MySQL wybierz * z wyraźnym identyfikatorem

SELECT * DISTINCT(ID) FROM table WHERE ... 

Ostatecznie potrzebuję identyfikatora, miasta, stanu i kodu pocztowego. Jak mogę uzyskać wiersze, które nie są duplikatami identyfikatorów i zwracają wszystkie pola do mojej tablicy mysql_fetch_array?

Próbowałem następujące:

SELECT * DISTINCT(ID) FROM table WHERE ... 

SELECT DISTINCT ID * FROM table WHERE ... 

SELECT ID,City,State,Zip DISTINCT ID FROM ... 

SELECT ID,City,State,Zip DISTINCT(ID) FROM ... 

czytałem tutaj inne pytania i nikt wydaje się pomóc. Z góry dziękuję!

+0

'DISTINCT' po prostu wrócić unikalne identyfikatory z tabeli; co dokładnie próbujesz zrobić? –

+1

Potrzebuję więcej niż tylko identyfikatorów ... dziękuję jednak – NotJay

+1

Więc z tym samym identyfikatorem, który rekord powinien być wybrany? – xdazz

Odpowiedz

27

Spróbuj użyć GROUP BY:

select id, city, state, zip 
    from mytable 
group by id 

Zauważ, że ten powróci dowolny adres dla każdego id jeśli istnieją duplikaty.

Demo: http://www.sqlfiddle.com/#!2/c0eba/1

+0

Czy mogę dodać grupę przed lub po GDZIE? – NotJay

+5

@NotJay - grupa według miejsca, w którym –

+0

Perfect .... Dziękuję bardzo. Pierwszy raz używając Group By! – NotJay