题意:


计算出2021年8月每天用户练习题目的数量

分解:


  • 由每天-按天分组,知:group by date
  • 由限定条件2021年8月,知:year(date) month(date) 也可使用 substr(date)
  • 由题目数量,知:count(question_id)
  • 由输出示例中每天的字段只取了几号,去掉年月,故使用day函数 day(date)

代码:


  • 法1 使用日期函数day(date)、month(date):
select day(date) day,count(question_id) question_cnt  #day(date):返回日期date中的日期部分
from question_practice_detail
where year(date)=2021 and month(date)=08   #month(date):返回日期date中的月份值,01 到 12 
group by day   #按天分组

  • 法2 使用字符串截取函数substr(date)
select substr(date,-2,2) day, count(question_id) question_cnt  #substr(date,-2,2):从date中从倒数第2位开始往后截取2位
from question_practice_detail
where substr(date,1,7)='2021-08'   #substr(date,1,7):从date中从前往后截取7位
group by day   #按天分组