美文网首页- [ 测试基础 ]
3-1,数据库查询高级用法

3-1,数据库查询高级用法

作者: 好多可乐 | 来源:发表于2018-11-05 23:22 被阅读0次

    1,In的用法

    语法:字段 (not)in (数据集)

    例:select * from member id in (1,2);

    查询id为1,或者2的用户信息

    select * from member id not in (1,2);

    查询id不为1,2的用户的信息


    2,模糊查询like的用法

    语法:like '%字符' 查询包含’字符‘内容的数据,%可以放在字符前,后,或者前后都放

    例:select * from member where regname like '%小';

    查询最后一个字为小的名字

    select* from member where regname like '小%';

    查询第一个字符为小字的名字

    select *from member where regname like'% 小%';

    查询包含‘小’字的名字

    3,count(函数)统计行数,纵向统计

    语法:select count(字段名)from 表名;

    例:select count (*)from member;(*性能较低,不建议使用,可以替换为1或者任何常量,甚至不在表里的比如10086都可以)

    select count(1)from member.(表示一个常量列,每行对应的值都为1)

    统计行数

    4,去重distinct的用法

    去除查询结果中的重复数据

    语法:select distinct 字段名 from 表名;

    例:select distinct regname from member;

    去重查询人名

    2,select distinct 字段,字段2... from 表名

    只有字段1,2都相等才去重

    例:select distinct memberid,amount from inverst;

    查询去除memberid和amount相等的数据

    5,between...and的用法

    语法:WHERE column BETWEEN value1(大的值) AND value2(小的值)

    WHERE column NOT BETWEEN value1 AND value2

    例:select *from invest where amount between 10000 and 30000;

    查询投资金额在1w-3w的相关信息

    6,group by分组

    使用场景:group by顾名思义就是按照某个字段来分组,它必须有“聚合函数”来配合才能使用,使用时至少需要一个分组字段。某某信息来进行分组

    语法:select 字段1,字段2,聚合函数 from 表名 group by 字段 having "condition";

    语法解释:

    聚合函数:对一组值执行计算并返回单一的值得函数。聚合函数经常与select语句和group by子句一同使用,常见的聚合函数有:sum(),count(),avg(),min(),max()等

    having:在分完组以后如果想在这个分组结果的基础上继续过滤的话可以通过having+condition增加条件来过滤

    condition:过滤条件

    示例

    请按项目分组,统计投资表中各个项目的投资次数

    select loanid,count(1)from invest group by loanid;

    7,查询-分页(limit)

    分页是数据库做的

    1,语法:select ...from 表名 limit m,n;

    m指的索引值是从m开始,n表示每页要取多少条

    示例

    每页取十条展示

    第一页为:limit 0,10    表示取索引从0开始取第10条记录

    第二页为:limit 10,10  表示取索引从10开始取10条记录

    第三页为:limit 20,10  表示取索引从20开始取10条记录

    每页显示x条数据,显示到第y页时,分页语句的x和y分别是多少

    select *from member limit (y-1)x,x;

    2,Top语法:查询前几条数据

    语法:select ...from 表名 limit m;

    select *from member order by desc limit 10;

    查询前10条记录

    3,偏移量  offest

    语法:select ...from 表名 limit m(每页的条数) offset n(从第几页开始);

    ps:没有空格!!

    select*from member limit 10 offset 0;

    每页取10条,从第一页开始

    select*from member limit 10 offset 1;

    每页取10条,从第二页开始

    查询--常用的mysql函数

    1,数值相关函数

    求字段A的最小值:min(字段A)

    求字段A的最大值:max(字段A)

    求字段A的平均值:avg(字段A)

    求字段A的和:sum(字段A)

    2,日期函数

    为指定日期增加一个时间间隔的函数:DATE_ADD(date,Interval,expr unit)

    date:时间,

    Interval:关键字,

    expr:表达式

    unit: 单位(比如年,月,日,时,分,秒)

    3,字符串函数

    字符串拼接函数:concat(字段A,字段B)

    字符串截取函数:SUBSTR(字段A,截取开始的位置position,截取字符个数)

    语法:substr(string string,num start,num length);

    string为字符串;

    start为起始位置;

    length为长度。

    获取字符串长度的函数:length(字段A)

    相关文章

      网友评论

        本文标题:3-1,数据库查询高级用法

        本文链接:https://www.haomeiwen.com/subject/juaexqtx.html