Condividi
Come scrivere una query sql che restituisca solo gli ultimi 10 records
Sto cercando d'implementare un mio cms per la gestione dei dati di un blog, cercavo un modo per farmi restituire gli ultimi commenti lasciati su un dato post.
La query sql deve essere in grado di restituire solo gli ultimi 10 record considerato che nella tabella mysql che rappresenta i commenti del post sono presenti i campi (colonne) date e time per individuare ed ordinare in modo cronologico i commenti lasciati, dal più rencente al meno recente.
Qual'è il modo migliore per scrivere questa query che restituisca solo gli ultimi 10 records in ordine cronologico su campi date e time?
In Corso
3
MySql
29-04-2019
2 Risposte
5122 Visite
+1
Risposte ( 2 approvate )
Aggiungo a quanto già risposto che probabilmente tu abbia implementato anche una relazione 1 a n tra la tabella che rappresenta il post del blog ed i commenti ad esso associati, sarebbe più opportuno scrivere una query che sfrutti tale relazione tramite un semplice
JOIN
, oppure ancora più banalmente passare l'id (identificativo) del post nella query e filtrare i soli commenti (records) del post con una clausolaWHERE, così:
Ovviamente 12 indica l'id del post, ma questo è solo un esempio, potrebbe essere qualunque numero positivo indicante la primary key della tabella post, vedi tu come adattarlo alla logica del tuo applicativo.
Supponendo che la tabella si chiami Comments, la query che cerchi di eseguire è molto semplice, per ritornare solo gli ultimi 10 records di una tabella, in MySql ti basta usare l'operatore
LIMIT
in questo modo:e li ordini con
ORDER BY
per il campo date in maniera decrescente (DESC), semplice no!