La scène est comme ça
Il y a un article de table d'article
champ : contenu d'aide
Il y a aussi un champ d'éloge de table similaire : id aid time
Le champ d'aide des magasins de table similaire l'aide à l'article correspondante
Maintenant, je veux obtenir la liste des articles mais les trier du plus grand au plus petit en fonction du nombre de likes. Comment écrire ce SQL ?
Merci.
Si la quantité de données est importante, la jointure gauche est relativement lente. Si elle s'affiche dans les pages ou demande simplement les données des premières douzaines d'éléments, vous pouvez d'abord demander les aides triées dans le tableau des likes, puis les rechercher. les articles correspondant à ces aides dans le tableau des articles
sélectionnez a.content de l'article a gauche rejoignez l'éloge b sur a.aid=b.aid commande par b.time desc
sélectionnez a.aid,count(p.aid) num de l'article a gauche rejoignez l'éloge p sur a.aid=p.aid groupe par p.aid ordre par num desc ;