を使用せずに、あなたは12行があることを示すためにが素敵な式で選択し、グループ化、MySQLの場合、とき
bar > 2 count -------------- 0 12 1 26
のような結果を得るために
select bar > 2, count(*) from foo group by (bar > 2)
のような素敵なことを行うことができますバー付き< = 12と26バー> 12
私はAS/400のDB2データベースで同じことをしたいと思います。それはby句の選択やグループでの表現が好きではありませんが、これは動作します
select when (bar > 2) then 1 else 0 end, count(*) from foo
group by when (bar > 2) then 1 else 0 end
を使用していることを回避することができますが、もちろん、それは非常に醜いです。私の質問は、これを行うより良い方法があるかどうかです。特に、このように何十もの表現に渡って統合された値を取得することを考えれば、おそらく、私が見落としている標準準拠の方法もありますか?
編集:これは、標準に準拠した方法であるケースが分かります。
「標準に準拠しているCASE」:それはsqlite3の上で動作します、MySQLおよびAS/400 DB2をサポートします。 – Confusion