Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] zapytanie (DISTINCT)
Wojtekss
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.12.2008

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


Witam mam taka tabele:

ID | nazwa
1 | A
2 | B
3 | A
4 | C

I chcialbym wypisac wszystkie nazwy ale bez powtorzen razem z ID, czyli chcialbym zeby wynikowa tabela byla taka:

ID | nazwa
1 | A
2 | B
4 | C

Probowalem wszelkimi sposobami z DISTINCT ale nie idzie, czy jest w ogole taka mozliwosc?

z gory dzieki

Ten post edytował Wojtekss 27.05.2010, 09:34:16
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Lepiej nie używać distinct tylko group by
  1. SELECT * FROM tabela GROUP BY nazwa
Go to the top of the page
+Quote Post
croc
post
Post #3





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Nie zgodzę się ze stwierdzeniem, że "lepiej group by". Zależy czy potrzebujesz operacji na grupach czy nie. Tutaj kolega nie potrzebuje, więc distinct powinno zadziałać żwawiej. A nie wychodzi co z jednego jasnego powodu - wynik, który chcesz otrzymać jest bez sensu (IMG:style_emoticons/default/smile.gif) Dlaczego chcesz zwrócić unikalne nazwy z ID? Każda nazwa może mieć kilka ID, więc chyba nawet sam nie wiesz które, a skąd ma biedne zapytanie wiedzieć? (IMG:style_emoticons/default/smile.gif)

Ten post edytował croc 27.05.2010, 11:02:15
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Otóż group by działa "podobnie" do distinct i właśnie do takich operacji jest wydajniejszy co jest sprawdzone praktycznie.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 19:52