簡體   English   中英

SUB查詢按日期和管理者分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM