1. 一條sql語句統計某一列,但每個count 又處於不同的條件
例如:統計所有任務以及今天發布的任務的數量
解決:以下代碼,
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 啥的都行
2. sql語句的連接方式(照搬的,在學校學的有點忘記了),多實踐與上機練習才是王道!!!
left join (左連接):返回包括左表中的所有記錄和右表中連接字段相等的記錄。
right join (右連接):返回包括右表中的所有記錄和左表中連接字段相等的記錄。
inner join (等值連接或者叫內連接):只返回兩個表中連接字段相等的行。
full join (全外連接):返回左右表中所有的記錄和左右表中連接字段相等的記錄。
