例如:統計全部任務以及今天發佈的任務的數量sql
解決:如下代碼,spa
SELECT username, count(t.task_code) as allTaskNum, SUM( CASE WHEN date_format( t.create_time, '%Y-%m-%d' )= date_format( now(), '%Y-%m-%d' ) THEN 1 ELSE 0 END ) AS taskTodayNum FROM sys_user s LEFT JOIN yw_task t ON t.create_by = s.id GROUP BY username
啓發:若是僅需統計一種,但count須要寫條件,那麼建議使用sum case後面 有一個case_value 能夠不寫 when後面是能夠帶條件 and or 啥的都行code
left join (左鏈接):返回包括左表中的全部記錄和右表中鏈接字段相等的記錄。
right join (右鏈接):返回包括右表中的全部記錄和左表中鏈接字段相等的記錄。
inner join (等值鏈接或者叫內鏈接):只返回兩個表中鏈接字段相等的行。
full join (全外鏈接):返回左右表中全部的記錄和左右表中鏈接字段相等的記錄。orm