注意!!!
select (很长的查询做表) 之后要设置别名不要加引号!
错误select table.column1 from (xxxxxx) "table1"
正确·select table.column1 from (xxxxx) table1
group by,distinct 如何去重?
distinct:
select distinct name,age from student;
注意:
- distinct只能放在查询字段的最前面
- distinct只会去除全都重复的数据(例如上面的name和age不一起重复的话不会去重)
group by:
select name, age, sum(height) from student group by name,age;
注意:
- group by也是只去重字段完全重复的数据
- 可以配合聚类函数使用 例如count()/sum() 例如:select name, age, sum(height) from student group by name, age;
Datetime类型涉及的方法
min(取最早的数据)
max(取最晚的数据)
timestampdiff(两个timestamp类型相减)
SELECT TIMESTAMPDIFF(YEAR【类型】, ‘2017-06-01’, ‘2016-05-15’);
类型可以是YEAR、MONTH、DAY、HOUR、MINUTE、SECOND
日期类型与日期字符串相互转换
# 格式化参考:
select DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s');
#字符串转日期
select str_to_date('2021-04-02 10:37:14', '%Y-%m-%d %H:%i:%s'); # 2023-08-24 14:35:14
sql判断 if
if(expr1, expr2, expr3);
expr1: 函数
expr2:如果expr1返回true 返回expr2
expr3:如果expr1返回false 返回expr3