sql >> Databáze >  >> RDS >> Mysql

Jak získat celkově nejoblíbenější značky z normalizovaných tabulek?

Svůj dotaz můžete jednoduše upravit:

SELECT t.id, t.tag, COUNT(*) AS cnt
FROM tags_xref xrf INNER JOIN
     tags t
     ON xrf.tag_id = t.id
GROUP BY t.id, t.tag
ORDER BY COUNT(*) DESC
LIMIT 20;

Různá ID jsou pravděpodobně NULL když nejsou vhodné. Pokud jste z nějakého podivného důvodu skutečně uložili hodnoty ve všech třech ID pro danou externí referenci, můžete:

SELECT t.id, t.tag,
       (COUNT(story_id) + COUNT(discussion_id) + COUNT(article_id) ) AS cnt
FROM tags_xref xrf INNER JOIN
     tags t
     ON xrf.tag_id = t.id
GROUP BY t.id, t.tag
ORDER BY cnt DESC
LIMIT 20;



  1. Použití podmínky if ve vložení SQL Server

  2. Získejte seznam dat mezi dvěma daty

  3. Uzamčení databáze MySQL tak, aby dotaz mohla spustit pouze jedna osoba?

  4. Jak se připojit k mysql pomocí ipv6 z wordpressu