0
我有一個包含3列的數據庫。一個具有名爲路徑的文件路徑,其中一個具有值OK或NOK,稱爲狀態,另一個具有日期和時間,稱爲時間。列表文件,OK和NOK的計數和按日期排序
Path Status Date
/var/log 200 2016-10-20
/etc/rc.d 404 2016-10-21
/etc/rc.d 200 2016-10-21
所以我試圖通過是相同的,但顯示的是多少次的成功,而不是按日期和路徑成功計數的路徑進行排序。
我嘗試過這樣的事情,但它給了我整個數據庫中的錯誤總數,而不是那些在給定日期發生的錯誤。
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)
運行「選擇路徑,狀態,算作從日誌日期(狀態),TO_CHAR(時間, 'YYYY-MM-DD')按路徑,狀態,日期分組;「給了我正確的計數,但是我得到了每個日期的一個條目,其中顯示了多少次成功以及多少次失敗。 –