Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL để tìm danh mục phổ biến nhất

thử cái này. sử dụng nhóm theo với tên của danh mục. Tôi đã nhận xét mệnh đề được tạo tại như bạn chỉ định, bạn có thể bỏ ghi chú nếu bạn muốn sử dụng nó.

 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;

bạn sẽ nhận thấy rằng tôi đã không sử dụng từ khóa JOIN mà thay vào đó, chỉ lọc các kết quả của truy vấn bằng cách sử dụng mệnh đề WHERE, điều này có thể dễ hiểu hơn. nếu bạn muốn tìm hiểu thêm về JOIN, hãy đây là hướng dẫn .

Đây cũng là hướng dẫn về bí danh SQL (mệnh đề AS). trên thực tế, có rất nhiều hướng dẫn khác trên trang web này cho một loạt các chủ đề SQL khác nhau không phụ thuộc vào nền tảng.

chỉnh sửa: đã sửa theo nhận xét, đã thêm hàm 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. Rails:Cách tách truy vấn ghi / đọc trên cơ sở dữ liệu chủ / tớ

  2. Giám sát cơ sở dữ liệu của bạn với MySQL Enterprise Monitor

  3. gửi dữ liệu tới MySQL bằng AJAX + jQuery + PHP

  4. MySQL có thể khôi phục đáng tin cậy các bản sao lưu có chứa các khung nhìn hay không?

  5. CẬP NHẬT / XÓA trong mysql và nhận danh sách id hàng bị ảnh hưởng?