Quando utilizzo Max
per trovare il valore massimo di un campo in un determinato gruppo MySQL dopo aver utilizzato GROUP BY
, è possibile ottenere l'intera riga che contiene il valore massimo?Selezionare l'intera riga corrispondente al massimo nel gruppo MySQL
5
A
risposta
1
mi chiedo se questo dovrebbe funzionare:
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
)
Vedere questo articolo per ulteriori spiegazioni:
0
Guardate la seguente query:
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
L'idea è di ordinare i dati della tabella raggruppando campo e campo ordinato e prendere la prima riga di ciascun gruppo
1
I imbattuti questa discussione quando si lavora su un codice foro. Volevo ottenere l'ultimo post per ogni thread e visualizzarlo nell'elenco di thread per una scheda particolare.
La risposta di Quassnoi sopra è stata molto utile per me e ho potuto adattarla. Ecco il codice nel caso in cui aiuti qualcun altro:
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
)
Problemi correlati
- 1. ottenere la riga corrispondente al massimo di altra riga
- 2. Python Pandas dataframe selezionare fila valore massimo nel gruppo
- 3. MySQL che seleziona il record massimo nel gruppo di
- 4. chiave corrispondente al valore massimo nel dizionario python
- 5. selezionare il conteggio massimo al secondo
- 6. Come selezionare una riga max per ogni gruppo in SQL
- 7. SQLite: Selezione del valore massimo corrispondente
- 8. Trova miglior riga corrispondente in MySQL (InnoDB)
- 9. Ordine dal valore massimo nel gruppo
- 10. Javascript sostituisce il gruppo corrispondente
- 11. sed: stampa solo gruppo corrispondente
- 12. Come selezionare la riga con il valore massimo in ciascun gruppo
- 13. MYSQL Gruppo di date massimo per due colonne
- 14. data.table - selezionare prima n righe nel gruppo
- 15. Numero riga per gruppo in mysql
- 16. Selezionare una singola riga in MySQL
- 17. Selezionare Mysql somma commutativa di ogni riga
- 18. mysql Selezionare Selezionare
- 19. selezionare due file casuali nel database MySQL
- 20. Come selezionare il numero massimo di clienti al mese
- 21. SQL Server: LEFT OUTER JOIN con TOP 1 per selezionare al massimo una riga
- 22. Selezionare riga casuale per ogni gruppo in una tabella postgres
- 23. MySQL - Selezionare la riga con la colonna + X> Colonna
- 24. MySQL corrispondente a 2 campi su 5
- 25. MySQL selezionare GROUP BY ordine
- 26. ActiveRecord: selezionare il limite massimo
- 27. Regexp corrispondente nel maiale
- 28. DatagridView Selezionare l'ultima riga
- 29. Scrittura xml con al massimo due tag per riga
- 30. Selezionare la prima riga di ogni gruppo utilizzando il gruppo di in sqlite
È possibile ottenere troppe righe. La tua dichiarazione restituisce tutte le righe con un ID che è il massimo di qualsiasi gruppo (non necessariamente il gruppo a cui appartiene questa riga). Considera le seguenti coppie (id, name): (1, foo), (2, foo), (2, bar), (3, bar). Si desidera recuperare (2, pippo) e (3, barra), ma la query restituisce anche (2, bar) poiché 2 è il massimo del gruppo foo. – titanoboa
Aggiunto DISTINCT per selezionare – Riho