题解 | #21年8月份练题总数#

21年8月份练题总数

http://www.nowcoder.com/practice/b8f30b239b454ed490367b53ea95607d

题意明确:

2021年8月份所有练习过题目的总用户数和练习过题目的总次数


问题分解:

  • 限定条件: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';
  • 2:总用户数:count函数计数,因为用户有重复,所以需要distinct去重,即count(distinct device_id)
  • 3:总次数:count(question_id)即可

细节问题:

  • 表头重命名:as语法

完整代码:

select
    count(distinct device_id) as did_cnt,
    count(question_id) as question_cnt
from question_practice_detail
where date like "2021-08%"
全部评论
as did_cnt是什么意思呢
1 回复 分享
发布于 2022-08-17 17:40 四川
日期限定用date between and也可以吧
点赞 回复 分享
发布于 2022-08-24 22:37 上海
请问year(date)='2021' and month(date)='08'这里数值为什么要加引号,不是非数值才加引号吗
点赞 回复 分享
发布于 01-22 14:18 北京
那要是有坏人不答题怎么办
点赞 回复 分享
发布于 2024-06-01 16:05 重庆
最后不用加 where question_id is not null吗??
点赞 回复 分享
发布于 2024-01-09 15:39 北京
第1种方法没想到,习惯了用区间限定。第2/3方法如果索引是date...
点赞 回复 分享
发布于 2023-04-10 00:01 广东
请问下,上面3种查询日期的,哪种的性能最好?
点赞 回复 分享
发布于 2023-02-28 20:13 北京
我靠总用户数居然是按照设备id来数的,我以为是以id来数,破防
点赞 回复 分享
发布于 2022-10-27 17:02 广东
明白了,Y表示xxxx四位数,y表示xx两位数
点赞 回复 分享
发布于 2022-09-29 11:02 湖南
用date_format函数,其中年必须用大写"Y",这是公式本身原理还是其他原因呢,用小写报错
点赞 回复 分享
发布于 2022-09-29 10:59 湖南
不可以用group by吗
点赞 回复 分享
发布于 2022-09-23 16:08 湖北
select count(distinct device_id) did_cnt, count(question_id) question_cnt from question_practice_detail where month(date)=8; 请问:以上错在哪里?
点赞 回复 分享
发布于 2022-07-06 17:05
有点懵,什么时候用count(*),什么时候用count(目标值)?
点赞 回复 分享
发布于 2022-07-06 16:57
这题绝了,不给我数据库权限我咋回答
点赞 回复 分享
发布于 2022-07-02 10:01
我就想问一下,为什么题目总数不用去重?题目不是也有重复的吗
点赞 回复 分享
发布于 2022-05-24 22:11
这么久第一次知道可以连这些多条count
点赞 回复 分享
发布于 2022-05-10 09:49
都可以啊。第二种是在SQL28练的。
点赞 回复 分享
发布于 2022-04-19 01:21
year(date)='2021' and month(date)='08',输入的数字要不要引号呢,我加不加引号都可以通过,但是我看人家好像不加的
点赞 回复 分享
发布于 2022-03-21 19:53
后面直接复制你的,就绿了,我在想我是不是逗号打错了
点赞 回复 分享
发布于 2022-03-15 00:26
我试了三种,都不满足要求
点赞 回复 分享
发布于 2022-03-15 00:24

相关推荐

04-06 11:24
已编辑
太原学院 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
232
32
分享

创作者周榜

更多
牛客网
牛客企业服务