sql >> Database teknologi >  >> RDS >> Mysql

SQL for at finde den mest populære kategori

Prøv dette. brug gruppe efter med navnet på kategorien. Jeg har kommenteret oprettet ved klausulen ud, som du har angivet, du kan fjerne kommentarer til den, hvis du vil bruge den.

SELECT c.name, SUM(ABS(v.item_id)) FROM categories c,items i, votes v WHERE c.name = i.name AND i.item_id=v.item_id --AND v.created_at > #{1.week.ago} GROUP BY c.name ORDER BY SUM(ABS(v.item_id)) DESC LIMIT 5;

du vil bemærke, at jeg ikke brugte JOIN-søgeordet, men i stedet filtrerede resultaterne af forespørgslen ved kun at bruge WHERE-sætninger, som måske er nemmere at forstå. hvis du vil lære mere om JOINs, her er en tutorial .

Her er også et selvstudie om SQL-aliasser (AS-klausulen). faktisk er der en masse flere selvstudier på denne side for en masse forskellige SQL-emner, der ikke er platformafhængige.

rediger: rettet i henhold til kommentarer, tilføjet abs-funktionen,



  1. SQL Server JDBC-fejl på Java 8:Driveren kunne ikke etablere en sikker forbindelse til SQL Server ved at bruge Secure Sockets Layer (SSL) kryptering

  2. Kopier en MySQL-tabel inklusive indekser

  3. MAX funktion i where klausul mysql

  4. SQL Server Passthrough-forespørgsel som grundlag for et DAO-postsæt i Access