Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać ogólnie najpopularniejsze tagi ze znormalizowanych tabel?

Możesz dokonać prostej modyfikacji zapytania:

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;

Przypuszczalnie różne identyfikatory to NULL kiedy nie są odpowiednie. Jeśli z jakiegoś dziwnego powodu faktycznie zapisałeś wartości we wszystkich trzech identyfikatorach dla danego odnośnika, możesz zrobić:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić wiersze, które mają te same wartości kolumn w MySql

  2. Jak przenieść kolumny w tabeli MySQL?

  3. Jak duża może być baza danych MySQL, zanim wydajność zacznie spadać

  4. Czy można przenieść rekord z jednej tabeli do drugiej za pomocą jednej instrukcji SQL?

  5. wiele tabel SQL z PHP do generowania mapy witryny