Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Zapytanie o unikalne dane
Forum PHP.pl > Forum > Przedszkole
-lion_87-
Witajcie!

Mam pytanie co do MySQL.

Otóż w w pewnej tabeli posiadam ok. 1 500 000 rekordów.

Każdy rekord to pojedynczy punkt określonego id.

Różnych id jest ok. 50

Obecnie wyświetlenie tych 50 id i do każdego jego ostatni dodany punt do tej samej tabeli zajmuje po 30 sec.

Próbowałem z DISTINCT(zdecydowanie szybciej ~3 sec) ale wyciągane są tylko pierwsze dodane rekordy poszczególnych id
  1. SELECT DISTINCT(`a`),b FROM `tabela` GROUP BY `a`


Natomiast nie potrafię tego "odwrócić" by były wyciągane ostatnio dodane rekordy.
peter13135
Jest indeks na a ?
-lion_87-
Z tego co teraz zobaczyłem to jest tak:

Nazwa klucza
PRIMARY

Typ
BTREE

Jednoznaczny
Tak

Spakowany
Nie

Pole
a
CuteOne
  1. SELECT DISTINCT(`a`),b FROM `tabela` ORDER BY a DESC GROUP BY `a`
-lion_87-
No właśnie ORDER sortuje tylko te 50 id między sobą. Nie powoduje wybrania tych ostatnio dodanych rekordów.
CuteOne
1,2,2,1 - po sortowaniu otrzymasz 2,2,1,1 z czego odpadnie druga dwójka i druga jedynka...
-lion_87-
Poprzednio dałem inną kolejność(najpierw group a potem order)

Teraz w tej kolejności co napisałeś to wywala błąd przy GROUP.
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.