zoukankan      html  css  js  c++  java
  • mysql order by的一些技巧

    1. 只按日期排序,忽略年份
    > select date, description from table_name order by month(date),dayofmonth(date);
    注意:单纯使用dayofyear来排序会导致错误,如2-29与非闰年的3-1日同等级

    2. 排序点分式IP
    > select ip from table_name order by inet_aton(ip);
    或者在设计表时就使用 int unsigned 来表示ip。

    3. 将某列中特定值排在最前
    例如想把表中lulu的名字排在最前显示,其他按字母排序
    > select name from table_name order by if(name='lulu',0,1),name ;
    也可以把if的条件根据需要换成相应的语句。

    4. 将某列内容按照用户自定义的顺序排序
    例如想把表中的名字按lulu,xixi,baba,mama的非常规顺序排序输出:
    > select name from table_name order by field(name,'lulu','xixi','baba','mama');

    5. 对枚举类型排序
    枚举类型默认为数字排序,如果希望以字符串形式排序。
    > select name from table_name order by cast(name as char);
    如果希望更改enum的排序默认顺序,可以alter table
    alter table table_name modify name enum('lulu','xixi','mama','baba');


    6. 按csv类型的字符串的某字串排序
    例如某列m_str内容是形如abc-321-mno-jkl的形式,希望对第二列进行排序
    > select m_str from table_name
    order by substring_index(substring_index(m_str,'-',2),'-',-1);

     
     
     

    来源:http://blog.chinaunix.net/uid-7692530-id-2567549.html

  • 相关阅读:
    曲线与直线相切
    两函数切线
    导数+放缩
    选取拟合函数
    二分法求零点次数
    奇函数+方程的根与零点
    对数函数绝对值交点问题
    判断函数相等+判断反函数+判断周期函数
    已知分段函数零点个数求范围
    2020-05-03 助教一周小结(第十二周)
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8324071.html
Copyright © 2011-2022 走看看