挑战清明节刷完力扣50SQL
4.4号已刷16题
#27届求职交流# #笔试#
学习笔记:
【COUNT 计数】
1. COUNT(*) :全量统计,含NULL
2. COUNT(字段) :仅统计该字段非NULL行
3. 仅统计符合条件的行:COUNT(IF(条件,1,NULL)) 或者 SUM(条件)
条件为真时是1,假0,因此可以直接sum条件。但是COUNT统计非NULL,即使条件为假也统计,所以得用“IF(条件,1,NULL)”。
【日期】
1. 提取: DATE() 去时分秒; YEAR/MONTH/DAY() 取年/月/日
2. 比较: 'YYYY-MM-DD' 可直接用 > < = 对比
3. 天数差: DATEDIFF(a, b) = a-b天数差
【IN 避坑】
NOT IN 列表含NULL 结果必为空
因为等价于: ... and xx != NULL
和 NULL 比较,结果永远为假,一行都查不出
#27届求职交流# #笔试#
学习笔记:
【COUNT 计数】
1. COUNT(*) :全量统计,含NULL
2. COUNT(字段) :仅统计该字段非NULL行
3. 仅统计符合条件的行:COUNT(IF(条件,1,NULL)) 或者 SUM(条件)
条件为真时是1,假0,因此可以直接sum条件。但是COUNT统计非NULL,即使条件为假也统计,所以得用“IF(条件,1,NULL)”。
【日期】
1. 提取: DATE() 去时分秒; YEAR/MONTH/DAY() 取年/月/日
2. 比较: 'YYYY-MM-DD' 可直接用 > < = 对比
3. 天数差: DATEDIFF(a, b) = a-b天数差
【IN 避坑】
NOT IN 列表含NULL 结果必为空
因为等价于: ... and xx != NULL
和 NULL 比较,结果永远为假,一行都查不出
全部评论
相关推荐
04-02 21:34
西北工业大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
