MySQL查询中的和记录错误?

问题描述:

我有一个表叫votes与以下记录:MySQL查询中的和记录错误?

id id_product vots 
    1  1  5 
    2  1  5 
    3  1  3.5 
    4  1  3.5 

他进行查询到每一个两个数据,即考虑到了票4.55,并在同一查询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=?