MySQL查询中的sum记录错误?

时间:2017-10-17 04:15:19

标签: mysql

我有一个名为votes的表,其中包含以下记录:

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

他进行了查询,每个数据中包含两个数据,即考虑了投票4.55,以及同一查询3.5和{{1}中的另一个查询}

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=? 时,我得到:

  

0.5000

$in_5_vote打印结果时,我得到相同的结果:

  

0.5000

我希望如何:

如果您在表格中观察到的记录应该显示以下结果:

$in_4_vote以下结果(5 + 5):

  

10

$in_5_vote以下结果(3.5 + 3.5):

  

7

1 个答案:

答案 0 :(得分:0)

如果您只想添加类似类别的投票,则无需使用/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=?