J'ai une base de données avec 3 colonnes. Celui qui a un chemin de fichier appelé chemin, un avec la valeur OK ou NOK appelé statut et un autre avec la date et l'heure appelée heure.Liste les fichiers, compter le nombre de OK et NOK et trier par date
Path Status Date
/var/log 200 2016-10-20
/etc/rc.d 404 2016-10-21
/etc/rc.d 200 2016-10-21
Je suis en train de trier par des chemins qui sont les mêmes, mais montrent un compte de combien de fois il a réussi et non réussie par date et le chemin.
J'ai essayé quelque chose comme ça, mais cela me donne le nombre total d'erreurs de la base de données entière et non celles qui se produisent le jour donné.
select to_char(time, 'YYYY-MM-DD') as date,
(SELECT count(status) from log where status like '404%') as error,
(SELECT count(status) from log where status like '200%') as success
from log group by date, error, success limit 10;
date | error | success
------------+-------+---------
2016-07-01 | 12908 | 1664827
2016-07-02 | 12908 | 1664827
2016-07-03 | 12908 | 1664827
2016-07-04 | 12908 | 1664827
2016-07-05 | 12908 | 1664827
2016-07-06 | 12908 | 1664827
2016-07-07 | 12908 | 1664827
2016-07-08 | 12908 | 1664827
2016-07-09 | 12908 | 1664827
2016-07-10 | 12908 | 1664827
(10 rows)
Running « chemin de sélection, état, compte (état), to_char (temps, 'AAAA-MM-JJ) que la date du journal grouper par chemin, statut, date; " me donne les chiffres corrects mais je reçois une entrée pour chaque date, une qui montre combien de succès et combien d'échecs. –