SELECT a.*,count(b.id) as counter,sum(b.grade) as grade FROM jacksoft_search_data a LEFT JOIN jacksoft_search_vote b ON a.id=b.dataID GROUP BY b.dataID WHERE a.state = 1 ORDER BY a.id
试过了,不对头
A表为信息记录
B表为投票记录
AB表关联a.id b.dataID
实现为A表里的记录统计分数
...全文
594打赏收藏
SQL语句可以这样写吗?
SELECT a.*,count(b.id) as counter,sum(b.grade) as grade FROM jacksoft_search_data a LEFT JOIN jacksoft_search_vote b ON a.id=b.dataID GROUP BY b.dataID WHERE a.state = 1 ORDER BY a.id 试过了,不对头 A表为信息记录 B表为投票记录 AB表关联a.id b.dataID 实现为A表里的记录统计分数
SELECT a.*,count(b.id) as counter,sum(b.grade) as grade FROM jacksoft_search_data a LEFT JOIN jacksoft_search_vote b ON a.id=b.dataID WHERE a.state = 1 GROUP BY b.dataID ORDER BY a.id
-- where条件放group前面
SELECT a.*,count(b.id) as counter,sum(b.grade) as grade
FROM jacksoft_search_data a LEFT JOIN jacksoft_search_vote b ON a.id=b.dataID
WHERE a.state = 1
GROUP BY b.dataID
ORDER BY a.id
SELECT a.id,count(b.id) as counter,sum(b.grade) as grade
FROM jacksoft_search_data a LEFT JOIN jacksoft_search_vote b ON a.id=b.dataID
GROUP BY b.dataID
WHERE a.state = 1
ORDER BY a.id