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

Hàm COUNT trong MySQL không hoạt động như tôi muốn trong nhiều truy vấn được kết hợp

SELECT comments.comment_id, comments.descr, comments.created, usrs.usr_name, 
  (SELECT COUNT(*) FROM comment_likers WHERE comment_id=comments.comment_id AND liker=1)likes,
  (SELECT COUNT(*) FROM comment_likers WHERE comment_id=comments.comment_id AND liker=0)dislikes
  liker
FROM comments
INNER JOIN usrs ON ( comments.usr_id = usrs.usr_id )
LEFT JOIN comment_likers  ON ( comments.comment_id = comment_likers.comment_id 
 AND comment_likers.usr_id = $usrID )
WHERE comments.topic_id=$tpcID
ORDER BY comments.created DESC;

Một vài lưu ý. Tôi không chắc chắn những gì tham gia bên trái thứ hai trên comment_likers phải đạt được (tham gia sử dụng $ usrID). Bạn chỉ quan tâm đến lượt thích từ một chủ đề cụ thể từ một người dùng cụ thể?

Ngoài ra, bạn có thể nghĩ đến việc thay đổi giản đồ cho các nhận xét created là ngày giờ thay vì varchar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật MySQL mà không chỉ định tên cột

  2. Chuyển đổi tem DateTime của MySql thành định dạng Ngày của JavaScript

  3. Cách di chuyển điểm đánh dấu 100 mét có tọa độ

  4. chèn dữ liệu vào MYSQL bằng mảng PHP

  5. Cách chuyển đổi kiểu cột varchar thành kiểu ngày tháng mà không làm mất ngày tháng