MySQL查询中的和记录错误?
问题描述:
我有一个表叫votes
与以下记录:MySQL查询中的和记录错误?
id id_product vots
1 1 5
2 1 5
3 1 3.5
4 1 3.5
他进行查询到每一个两个数据,即考虑到了票4.5
和5
,并在同一查询3.5
其他查询和4
SELECT
SUM(CASE WHEN votes IN (4.5, 5) THEN votes ELSE 0 END) AS in_5_vote,
SUM(CASE WHEN votes IN (3.5, 4) THEN votes ELSE 0 END) AS in_4_vote
FROM votesproducts
WHERE id_product=?
错误:
当打印结果$in_5_vote
我得到:
0.5000
当从$in_4_vote
打印结果我得到了相同的结果:
0.5000
我想什么:
这不好,如果你能观察表格记录应显示以下结果:
从$in_5_vote
以下结果(5 + 5):
10
从$in_4_vote
以下结果(3.5 + 3.5):
7
答
您使用的/COUNT(*)
是不必要的,如果你只是想添加的票类似的类别。试试这个:
SELECT
SUM(CASE WHEN votes IN (4.5, 5) THEN votes ELSE 0 END) AS in_5_vote,
SUM(CASE WHEN votes IN (3.5, 4) THEN votes ELSE 0 END) AS in_4_vote
FROM votesproducts
WHERE id_product=?