2017-10-17 80 views
1

我有一個表叫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

回答

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=?