牛客网SQL刷题 总结
WHERE 关键字后面不能与聚合函数一起使用,解决方法:使用 `having`,参考:https://www.cnblogs.com/mafeng/p/9198514.html
SQL执行顺序
(8) SELECT (9) DISTINCT
(1) FROM
(3) JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH {CUBE|ROLLUP}
(7) HAVING
(10) ORDER BY
(11) LIMIT
求最大值:
1,使用聚合函数。max( )
2,倒序,取第一条。
order by xxx desc
limit 1;
union和union all的区别
union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
利用case when end来分段查看:
select device_id,gender,
case
when age<20 then '20岁以下'
when age<25 then '20-24岁'
when age>=25 then '25岁及以上'
else '其他'
end age_cut
from user_profile;
日期函数:
select day(date) as day,
count(question_id) as question_cnt
from question_practice_detail
where year(date) = 2021 and month(date) = 08
group by date
分割字符串函数:substring_index(tr,delim,count)
tr是字符串,delim是分隔符号,count是负数表示从右边开始数。
posted on 2022-05-08 18:41 passionConstant 阅读(42) 评论(0) 编辑 收藏 举报