OracleからMySQLに移植するために必要な次のクエリがあります。どちらもコンパイルエラーなしで実行されますが、結果テーブルは異なります。Oracleにいる間、各カウント列の下で個々のカウントを取得します。しかし、MySQLでは、カウントがどこにあるかに関わらず、それらはすべてa5の下に到達します。そのようです:
Oracleの場合:
しかし、MySQLでは:
select x1.alert_level, count(x1.a1), count(x1.a2), count(x1.a3),
count(x1.a4), count(x1.a5) from
(select
table_name.column_name alias,
case when (now() - column_name) <= 7 then 1 end as a1,
case when (now() - column_name) between 7 and 30 then 1 end as a2,
case when (now() - column_name) between 30 and 60 then 1 end as a3,
case when (now() - column_name) between 60 and 90 then 1 end as a4,
case when (now() - column_name) >= 90 then 1 end as a5
FROM tables
WHERE filter_conditions) x1 GROUP BY x1.alias;
違いを調整して、MySQLの出力をOracleの出力のようにするにはどうすればよいですか?助けてくれてありがとう!