网站建设知识
MySQL高级查询
2025-07-22 11:13  点击:0

MySQL高级查询

1.常见内置函数

count(字段名):统计行数 sum(字段名):求和 max(字段名):求最大值 min(字段名):求最小值 avg(字段名):求平均值 abs(字段名):取绝对值 函数可如下使用:select count(id) from users;

2.高级查询语法:

Select [distinct(重复结果只显示一次,去重)] *|列名1,列名2,…

from 表名

[where 条件表达式]

[group by 列名[having 条件表达式]]

[order by 列名 [asc|desc]]

[特殊函数,limit 记录条数]

order by:排序,默认是升序asc

例如:select * from users order by desc;

group by:分组,一般都会结合内置函数使用

例如:select sex,COUNT(*) as '男女人数' from users group by sex;

select sex,COUNT(sex) as '男女人数' from users group by sex having COUNT(sex)>5;

limit:筛选结果

使用:

(1)limit 数据条数:没有指明开始下标数,默认值为0。

例如:select * from users limit 3;:表示获取当前表中前三条数据。

(2)limit 开始下标数 数据条数

例如:select * from users limit 3,3;:表示从第4条数据开始获取三条数据。

(3)limit 数据条数 offset 开始下标数

例如:select * from users limit 3 offset 1;:表示从第2条数据开始获取三条数据。

as:给表或者列取别名

例如:select name as '姓名' from users as u where u.age>17;

if(表达式,值1,值2):如果表达式为true,就返回值1,表达式为false,就返回值2。

例如:select name,if(sex='男',1,0) as sex from users;

效果图如下:

curdate():获取当前日期

例如:select curdate();

curtime():获取当前时间

sysdate():获取当前日期时间

length(字符串):获取字符串长度