[英]SUB Query group by date and managers
我有一張桌子,上面有經理和日期的動作。 動作可以是"0" or "1"
。 我想按日期分組並計算按日期和管理員分組的"0" and "1"
操作。 這是我的代碼。
SELECT COUNT( * ) ,
manager_id,
action,
CAST( `created_at` AS DATE ) AS DATE
FROM `prerequesttours_history`
GROUP BY CAST( `created_at` AS DATE ),
anager_id,
action
我想要這樣的結果:
| count where action = 1 | count where action = 0 | manager_id | date
嘗試選擇它作為子查詢。
SELECT SUM([Count]), manager_id, action, [Date]
FROM
(
SELECT COUNT( * ) 'Count' , manager_id, action, CAST( `created_at` AS DATE ) 'Date'
) main
GROUP BY manager_id, action, [Date]
如果action
僅采用這兩個值,則可以執行以下操作:
SELECT manager_id, date(`created_at`) AS DATE,
SUM(action) as count_1, SUM(1 - action) as cnt_0
FROM `prerequesttours_history`
GROUP BY manager_id, date(created_at);
如果您想更明確地比較一下:
SELECT manager_id, date(`created_at`) AS DATE,
SUM(action = 1) as count_1, SUM(action = 1) as cnt_0
FROM `prerequesttours_history`
GROUP BY manager_id, date(created_at);
注意:使用cast()
轉換為日期是可以的。 但是,MySQL為此提供了更簡單的函數date()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.