私はのようなクエリを記述するにはどうすればよい:MySQL:選択内のIN()ステートメント?これをどのように問い合わせますか?
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ポイント)を持っているので、スコアを合計して各ユーザーIDの合計得点を求め、合計得点でランク付けする必要があります。あなたはこのを探しているかもしれない
'()は' 'SELECT'クエリで使用するためにされていない場合に行うことができますプログラミングフロー制御ステートメント。それは関数です。 'if(something_that_returns_a_boolean、truevalue、falsevalue)'です。 –