我有一个名为votes
的表,其中包含以下记录:
id id_product vots
1 1 5
2 1 5
3 1 3.5
4 1 3.5
他进行了查询,每个数据中包含两个数据,即考虑了投票4.5
和5
,以及同一查询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
答案 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=?