题解 | #21年8月份练题总数# 三种限定时间条件的方法
21年8月份练题总数
https://www.nowcoder.com/practice/b8f30b239b454ed490367b53ea95607d
正确题解:
select count(distinct device_id) as did_cnt, count(question_id) as question_cnt from question_practice_detail where year(date)=2021 and month(date)=8
刚学完year和month函数,所以这道题一次就通过了,但还有两种限定时间条件的方法,需要掌握!
个人感觉year、month函数和like语法比较好理解,date_format函数格式有些复杂
限定条件:2021年8月份,匹配date字段即可,匹配方法主要有三种:
(1)like语法:date like "2021-08%"
(2)year、month函数:year(date)='2021' and month(date)='08'
(3)date_format函数:date_format(date, '%Y-%m')='2021-08'
另两种方法:
elect count(distinct device_id) as did_cnt, count(question_id) as question_cnt from question_practice_detail where date like '2021-08%'
select count(distinct device_id) as did_cnt, count(question_id) as question_cnt from question_practice_detail where date_format(date, '%Y-%m') = '2021-08'