Kiedy używam Max
do znalezienia maksymalnej wartości pola w danej grupie MySQL po użyciu GROUP BY
, czy jest możliwe uzyskanie całego wiersza zawierającego maksymalną wartość?Wybierz cały wiersz odpowiadający maks. W MySQL Group
5
A
Odpowiedz
1
Zastanawiam się, czy to będzie działać:
select * from table where id in (select distinct max(id) from table group by name)
0
SELECT di.id, di.orderer, di.ghigh, di.glow
FROM (
SELECT glow, MIN(orderer) AS orderer
FROM t_distinct d
GROUP BY
glow
) dd
JOIN t_distinct di
ON di.id =
(
SELECT id
FROM t_distinct ds
WHERE ds.glow = dd.glow
AND ds.orderer = dd.orderer
ORDER BY
glow DESC, orderer DESC, id DESC
LIMIT 1
)
Zobacz ten artykuł więcej wyjaśnień:
0
spojrzeć na następujące zapytanie:
SELECT items.*
FROM items, (select @grouping_value:=null) as init
WHERE GREATEST([email protected]_value,
IF(@grouping_value:=grouping_field,0,0))
ORDER BY grouping_field, sorted_field DESC
Chodzi o to, aby uporządkować dane z tabeli poprzez grupowanie pola i pola posortowaną i wziąć pierwszy wiersz z każdej grupy
1
natknąłem tego wątku podczas pracy na jakimś kodzie forum. Chciałem uzyskać najnowszy wpis dla każdego wątku i wyświetlić go na liście wątków dla konkretnej planszy.
Powyższa odpowiedź Quassnoja była mi bardzo pomocna i udało mi się ją dostosować. Oto kod na wypadek, gdyby pomógł komuś innemu:
SELECT p.id As post_id, p.post_number, p.topic_id
FROM forum_post p, (
SELECT topic_id, MAX(post_number) As max_post_number
FROM forum_post d
GROUP BY topic_id) dd
WHERE p.id =
(
SELECT id
FROM forum_post
WHERE topic_id = dd.topic_id
AND post_number = dd.max_post_number
ORDER BY topic_id DESC, post_number DESC, id DESC
LIMIT 1
)
Powiązane problemy
- 1. sqlalchemy, wybierz cały wiersz
- 2. MySQL wybierz losowy wiersz - rand() wydajność
- 3. Najlepsze zapytanie o "wybierz maks. W grupie"?
- 4. mysql Wybierz z Select
- 5. Wybieranie przez MySQL maks. Rekordu w grupie przez
- 6. Formatowanie warunkowe, cały wiersz oparty
- 7. Wybierz górny i dolny wiersz
- 8. Zaktualizuj cały wiersz w data.table w R
- 9. Wybierz losowy wiersz (y) w SQLite
- 10. Wybierz wiersz tabeli w jQuery
- 11. linq wybierz losowy wiersz
- 12. PHP - MySQL - Usuń wiersz
- 13. MySQL Wybierz inny wiersz, jeśli taki nie istnieje
- 14. MySQL: Wybierz wiersz gdzie kolumna zawiera element z listy
- 15. GROUP Według liczby wierszy zwróconych przez GROUP BY w MySQL
- 16. ustawić wiersz równy inny wiersz w mysql?
- 17. MySQL Wybierz wiele wartości
- 18. Jak wybrać maks. Wiersz dla każdej grupy w SQL
- 19. Wybierz wiersz z największym znacznikiem czasu w każdej kategorii
- 20. Group oraz filtr mysql wyniki
- 21. MySQL GROUP BY "i filtr"
- 22. TSQL Wybierz Min & Max wiersz podczas grupowania
- 23. Wybierz MAX (ID) mysql
- 24. Delphi ListView Drag Drop Cały wiersz
- 25. Usuń cały wiersz tabeli przycisk angularjs
- 26. MySQL GROUP BY i ORDER BY DESC
- 27. MySql wybierz wewnątrz innego wybierz?
- 28. Wybierz losowy wiersz dla różnych wartości pola?
- 29. Wybierz wiersz po odświeżeniu DBGrid
- 30. MySQL Query, wybierz większy niż
Możesz dostać zbyt wiele wierszy. Twoja instrukcja zwraca wszystkie wiersze mające identyfikator, który jest maksymalny dla dowolnej grupy (niekoniecznie do tej grupy, do której należy ten wiersz). Rozważmy następujące pary (id, name): (1, foo), (2, foo), (2, bar), (3, słupkowy). Chcesz odzyskać (2, foo) i (3, pasek), ale twoje zapytanie również zwraca (2, pasek), ponieważ 2 jest maksimum grupy foo. – titanoboa
Dodano DISTINCT, aby wybrać – Riho