例如:统计全部任务以及今天发布的任务的数量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