我有一個表格,格式如下。簡化記錄計數查詢
FIELD TYPE DATA EXAMPLE
----------------------------------------------
id | int(11) | 123
job | int(7) | 456
date | datetime | 0000-00-00 00:00:00
complete | tinyint(4) | 0 or 1
我需要編寫一個查詢,會雖然這大表和計算多少每個項目的每日記錄與完整狀態0和完整狀態1.
因爲可能在同一天的多個條目,我首先想到的運行一個查詢並獲得獨特的日期:
SELECT DISTINCT DATE(date) AS dt
FROM mytable
ORDER BY DATE(date) ASC
,然後運行中的另一個查詢並執行數
SELECT
SUM(id) AS cnt,
job,
DATE(date)
FROM mytable
WHERE complete = 0
AND DATE(date) = '".$uniqueDate."'
GROUP BY job
不過是開始變得有點令人費解,因爲我還需要運行完整= 1
第二個類似的查詢有一定有這樣做的更好的辦法,哈? ..
UPDATE:
的數據看起來有點像這樣:
is job date complete
-----------------------------------------------
234 324234 2011-06-17 06:59:24 0
235 324234 2011-06-17 08:09:22 1
235 544560 2011-06-18 02:51:12 0
244 677234 2012-07-17 11:12:14 1
基本上當最初的腳本將運行它會收集數據並將其插入到另一個表的格式如下:
stat_jobID (job ID from previous table)
stat_date (date from previous table)
stat_complete (count total)
stat_incomplete (count total)
能否請您用一組樣本輸入記錄澄清並伴隨輸出你期望生產哪些行?下面對您的要求有兩種不同的解釋。 –
已更新,並附有說明。謝謝。 – santa
所以結果應該是這3個工作號碼中的每一個都應該是1行,而'324234'應該有'stat_complete,stat_incomplete'的1,1而另外兩個應該有'1,0'和'0,1' ? –