zoukankan      html  css  js  c++  java
  • MySQL函数

    1.MyBatis实现模糊查询

    1.${…}代替#{…}
    2.把’%#{name}%’改为”%”#{name}”%”
    3.使用sql中的字符串拼接函数
    4.使用标签bind

    <select id="selectPersons" resultType-"person" parameterType="person">
        <bind name="pattern" value=" '%' + _parameter.username + '%' "/>
        select id, sex, age, username, password from person where username LIKE #{pattern}
    </select>
    

    参考:
    MyBatis实现模糊查询的几种方式
    SQL Count(*)函数,GROUP_By,Having的联合使用


    2. group_concat函数

    用法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

    group_concat长度限制

    mysql中group_concat函数对此函数的处理结果字符串长度是有限制的,默认为1024;所以如果结果字符串太长的话,就会在数据库里被截取,因此没有显示全部数据。

    解决方法:
    1、SET GLOBAL group_concat_max_len = 102400; //其中数字大小可修改
    注意:该方法缺点是重启服务后设置失效

    2、在MySQL配置文件(my.ini)中加:
    group_concat_max_len = -1 # -1为最大值或填入你要的最大长度
    并重启mysql


    3. order_by函数

    • order by id desc, time desc
      首先按id降序排列(优先),如果id字段一样,再按time降序排列(前提是满足id降序排列)

    • order by name, age desc
      name优先,name一样的话,就按age排序。后面再加第三列的话一样,以此类推下去

    order by 几种排序的写法

    1.单例升序

    select <column_name> from <table_name> order by <column_name>;(默认排序,即不写ASC)
    

    2.单列降序

    select <column_name> from <table_name> order by <column_name> desc;
    

    3.多列升序

    select <column_one>, <column_two> from <table_name> order by <column_one>,<column_two>;
    

    4.多列升序

    select <column_one>, <column_two> from <table_name> order by <column_one>,<column_two> desc;
    

    5.多列混合排序

    select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> asc;
    
  • 相关阅读:
    文件I/O(二)
    linux学习之文件I/O篇(一)
    静态库和共享库
    vim-ide
    CentOS6 vsftpd 安装及优化方法
    Redmine2.5+CentOS6+Apache2
    分享一个TP5实现Create()方法的心得
    Windows证书的生成导出以及使用证书验证文件是否被修改
    如何设置程序UAC控制
    关于C#的可变长参数
  • 原文地址:https://www.cnblogs.com/liaoguanwang/p/9986796.html
Copyright © 2011-2022 走看看