Question de requête MySql:Combinaison de plusieurs requêtes de sélection issue
Etre un débutant en SQL J'ai la question suivante. Je dois m'efforcer de combiner 4 requêtes en une seule pour utilisation dans le logiciel de reporting. Le code fonctionne, mais le résultat n'est pas ce que je désire.
Essayé pour utiliser l'instruction UNION, cela affiche les comptes mais tous triés sous 1 'compte (*)' champ.
Je voudrais avoir 4 champs comme indiqué dans chaque requête (alarmes au total, total qui est reconnu, total qui est reconnu dans les 15min, total qui est reconnu après 15 min)
C'est mon code à ce jour:
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))
Quelqu'un a-t-il une idée de comment trier chaque compte dans un champ séparé?
Si vous souhaitez obtenir les résultats dans un enregistrement, la réponse de l'utilisation @ de P.Salmon, si vous les voulez dans plusieurs enregistrements, vous pouvez utiliser le mien . – Lamar