ผมใช้ Mysql 5.0.51a ครับ ทำการสร้างตาราง 2 ตาราง
tbl_item ประกอบด้วย
- id
- name
- user
tbl_like ประกอบด้วย
- id
- refid
- user
- like
ผมลองใช้คำสั่ง SQL ดังนี้ครับ
SELECT tbl_item.id, tbl_item.`name`, tbl_item.`user`, COUNT(tbl_like.refid) AS c FROM tbl_like INNER JOIN tbl_item ON tbl_like.refid = tbl_item.id WHERE tbl_like.`status` <> '0' GROUP BY tbl_like.refid ORDER BY c DESC
SELECT tbl_item.*, COUNT(coalesce( tbl_like.refid, 0)) AS c FROM tbl_like
INNER JOIN tbl_item ON tbl_like.refid = tbl_item.id
WHERE tbl_like.`status` <> '0'
GROUP BY coalesce( tbl_like.refid, 0)
ORDER BY c DESC