Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie wszystkich kolumn przy distinct na jedną z kolumn
Forum PHP.pl > Forum > Bazy danych > MySQL
aladin07
w jaki sposób można wyświetlić wszystkie kolumny przy wyszukaniu unikalnych wartości dla pojednyczej kolumny

próbowałem
  1. SELECT DISTINCT (tabela.kolumna_nazwa), * FROM TABELA


ale powoduje to wyświetlnie unikalnych wartości dla kolumny będącej indeksem, a nie tej którą ja chce
w jaki sposób to zapisać żeby działało tak jak ja chce?
kefirek
  1. SELECT * FROM TABELA GROUP BY tabela.kolumna_nazwa
aladin07
w sumie to co podałeś działa ale czy jest lepsze to nie wiem

dajmy na to przykład jeszcze z innej beczki bo póki co wychodzi mi na to,
że można uzyskać taki sam efekt za pomocą DISTINCT jeśli wypisze się
wszystkie kolumny, które chce się wyświetlić a szybkość działania jest
w moim przypadku (tabela z 4,5mln wierszy) drastycznie różna

czyli
  1. SELECT DISTINCT (tabela.produkt_name), produkt_id FROM tabela

jest dużo szybszy
niż
  1. SELECT tabela.produkt_name, tabela.produkt_id FROM tabela ORDER BY tabela.produkt_name


przy czym distinct bierze bez dodatkowych zastrzezen produkty od najmniejszego produkt_id
a order by bierze z "najmniejszym" produkt_name

i teraz roznica czasowa u mnie
wykonanie distincta z limitem 10 daje czas 0,05sek, a w przypadku order by z limitem 10 daje az 52 sek exclamation.gif

nie wiem czy to normalne ale wniosek z tego taki, że jesli chce sie wyswietelac wszystkie kolumny
to trzeba je ręcznie wypisać bo gwiazdki nie wolno chyba stosować wtedy
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.