Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] zaawansowane grupowanie wyników selecta
Forum PHP.pl > Forum > Przedszkole
lukasz_matysek
Tak naprawdę nie wiedziałem jak nazwać ten temat.

Jest sobie tablica:

wpis INTEGER
waga_wpisu INTEGER

Dane w tej tablicy będą się przestawiać następująco: w tabeli przechowywane są "wpisy". wartość "wpis" może się powtarzać z różnymi przypisanymi wagami, na przykład:


wpis, waga
1, 3
1, 4
1, 7
2, 5
3, 8
2, 4
3, 3
3, 5

Po uporządkowaniu ASC w kolejności wpis, waga mamy:

1,3
1,4
1,7
2,4
2,5
3,3
3,5
3,8

Chodzi mi o skonstruowanie selecta, który wybierze mi tylko "wpisy" o maksymalnej wadze, tj z tabeli powyżej chciałbym w wyniku uzyskać:

1,7
2,5
3,8

Jak to zrobić? Zaznaczam, że tabela na której stosowałbym tego selecta, będzie miała około 10 milionów unikatowych "wpisów" + ich kopie z różnymi wagami, co może dać kilkadziesiąt milionów rekordów.
wookieb
  1. SELECT wpis, max(waga_wpisu) AS m_waga_wpisu
  2. FROM tabela
  3. GROUP BY wpis
lukasz_matysek
cóż, wstyd mi że zadałem takie pytanie.. rozwiązanie Kolegi jest genialne w swojej prostocie

pozdrawiam i dziękuję za pomoc.
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.