Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Untuk Menemukan Kategori Paling Populer

coba ini. gunakan group by dengan nama kategori. saya telah mengomentari klausa yang dibuat di seperti yang Anda tentukan, Anda dapat membatalkan komentar jika Anda ingin menggunakannya.

 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;

Anda akan melihat bahwa saya tidak menggunakan kata kunci JOIN tetapi memfilter hasil kueri hanya menggunakan klausa WHERE, yang mungkin lebih mudah dipahami. jika Anda ingin mempelajari lebih lanjut tentang GABUNG, inilah tutorialnya .

Ini juga tutorial tentang alias SQL (klausa AS). sebenarnya, ada lebih banyak tutorial di situs ini untuk sekumpulan topik SQL berbeda yang tidak bergantung pada platform.

edit: diperbaiki sesuai komentar, menambahkan fungsi abs,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:Pengambilan gambar dari MySQL Blob langsung ke tag <img>

  2. Perbaiki "ERROR 1222 (21000):Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda" saat menggunakan UNION di MySQL

  3. Data MySQL - Cara terbaik untuk mengimplementasikan paging?

  4. Penyesuaian Kinerja Kueri MySQL

  5. Pernyataan yang disiapkan tidak berfungsi dengan kueri tabel ALTER