このクエリは期待される結果を提供しません、
私がやろうとしていること:
2つの異なる列/フィールドと値に基づいてユーザーをランク付けしようとしています。そして、最上位のユーザーを一番上に表示したい。
selectクエリでRANKとしてダミー列を作成し、2つのCASE ...ASRANKを使用しています。
これは良い習慣ですか?または、より良い方法はありますか?
PS:RANKはさまざまなフィールドから動的になるため、保存しないように永続化する必要はありません(これは、2つのフィールドの例です)
SELECT *,
CASE EMPLOYEEOF
WHEN 'ASDF' THEN @RANK := @RANK+1
END AS RANK,
CASE VENDOROF
WHEN 'WXYZ' THEN @RANK := @RANK+1
END AS RANK
from USERMASTER, (SELECT @RANK := 0) r ORDER BY RANK DESC;
編集:与えません!1行目