我如何寫這樣的查詢:MySQL:如果IN()語句在Select中?我如何查詢?
SELECT userid,
(IF field IN(1,2,3,900,658,4,5,6,9,10,11,12,13,10025,14,15,16,17,18,19) score = score +20, ELSE IF field IN(23,45,67,777,53,54) score = score + 40,
ELSE IF field IN(120,332,563,334,634,423,333) score = score + 60) AS score
WHERE field IN(1,2,3,900,658,4,5,6,9,10,11,12,13,10025,14,15,16,17,18,19,23,45,67,777,53,54,120,332,563,334,634,423,333)
GROUP BY userid ORDER BY score DESC
我試圖找出誰擁有字段設置爲給定的數字之一的所有用戶。某些數字有不同的分數(20分,40分和60分),所以我需要合計分數以獲得每個用戶標識的總分,然後按總分對用戶進行排名。
'如果()'在'使用select'查詢是不是一個編程流程控制語句。這是一個功能。 'if(something_that_returns_a_boolean,truevalue,falsevalue)'。 –