MySqlクエリ質問:複数の選択クエリを組み合わせて発行する
SQLで初心者になる私は次の質問があります。 レポートソフトウェアで使用するために、4つのクエリを1つにまとめるのは面倒です。コードは機能していますが、その結果は私が望むものではありません。
UNIONステートメントを使用しようとしましたが、これはカウントを表示しますが、すべて1 'カウント(*)'フィールドの下にソートされています。
各クエリに述べたように、私は(総アラームの合計は認め、15分以内に認め合計、15分後に認め合計)の4つのフィールドを持っていると思い
これは、これまでの私のコードです:
select
count(*) 'Total alarms'
FROM alarminfo
where
((alarminfo.set_time>='2017-09-01 00:00:00.0' AND alarminfo.set_time<'2017-09-15 23:59:59.0'))
union
select
count(ack_time) 'Total Acknowledged'
FROM alarminfo
where
((alarminfo.set_time>='2017-09-01 00:00:00.0' AND alarminfo.set_time<'2017-09-15 23:59:59.0')
)
union
select
count(*) 'Total acknowledged within 15min'
FROM alarminfo
where
((alarminfo.set_time>='2017-09-01 00:00:00.0' AND alarminfo.set_time<'2017-09-15 23:59:59.0') AND
(TIMESTAMPDIFF(SECOND,alarminfo.set_time ,alarminfo.ack_time)<60*15))
union
select
count(*) 'Total acknowledged after 15min'
FROM alarminfo
where
((alarminfo.set_time>='2017-09-01 00:00:00.0' AND alarminfo.set_time<'2017-09-15 23:59:59.0') AND
(TIMESTAMPDIFF(SECOND,alarminfo.set_time ,alarminfo.ack_time)>60*15))
誰かが別のフィールドの下で各カウントをどのように並べ替えるのか考えてみませんか?
使用すると、1つのレコードの結果を取得したい場合は、使用する@ P.Salmonの答え、あなたが複数のレコードでそれらをしたい場合、あなたは私のものを使用することができますが。 – Lamar