recherche

Maison  >  Questions et réponses  >  le corps du texte

sql comment trier en fonction du « numéro » dans une autre table

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.

曾经蜡笔没有小新曾经蜡笔没有小新2827 Il y a quelques jours714

répondre à tous(4)je répondrai

  • 天蓬老师

    天蓬老师2017-05-16 13:11:04

    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

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:11:04

    sélectionnez a.content de l'article a gauche rejoignez l'éloge b sur a.aid=b.aid commande par b.time desc

    répondre
    0
  • 阿神

    阿神2017-05-16 13:11:04

    SELECT
      a.aid,
      a.content,
      pr.praiseCount
    FROM article a
      LEFT JOIN (SELECT
                   p.aid,
                   count(1) AS praiseCount
                 FROM praise p
                 GROUP BY p.aid) pr
        ON a.aid = pr.aid
    ORDER BY pr.praiseCount DESC

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:11:04

    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 ;

    répondre
    0
  • Annulerrépondre