排序查询结果

[size=medium][align=center][b]Sorting Query Results[/b][/align][/size]
[size=small][b]1.Sorting by Variable-Length Substrings[/b][/size]

select id,left(substring(id,4),char_length(substring(id,4)-2)) from hoursewares2;
使用substring()函数来忽略头3个字符,剩余部分将从第四个字符开始,提取除最右边两列的所有字符。

select id,substring(id,4),substring(id,4,char_length(id)-5) from housewares2;
中间部分的长度等于字符串长度减去5(开始的3个字符和结束的2个字符)。

select name,substring_index(substring_index(name,'.',-3),'.',1) as leftmost,substring_index(substring_index(name,'.',-2),'.',1) as middle,substring_index(name,'.',-1) as rightmost from hostname;
substring(str,c,n)函数。它在字符串str中搜索给定字符c的第n个出现的位置并在哪个字符的左边将所有的东西返回,如果n是负数,那么对c的搜索从右边开始并返回最右边的字符串。

substring_index(substring_index(name,'.',-3),'.',1)
substring_index(substring_index(name,'.',-2),'.',1)
substring_index(name,'.',-1)
从左到右抽取需要的片段。

select val from t order by if(val is null,1,0),val;
if()表达式创建了一个新的数据列,它被用来作为排序的基本数值。
if(val is null,0,1)

select t,srcuser,dstuser,size from mail order by if(srcuser='phil',0,1),srcuser,dstuser;
将特定发送者的信息放置到最开始。

select t,srcuser,dstuser,size from mail order by if(srcuser=dstuser,0,1),srcuser,dstuser;
将人们发送给自己信息的数据行放置在开始处。

[size=small][b]2.Sorting in User-Defined Orders[/b][/size]

select * from driver_log order by field(name,'Henry','Suzi','Ben');
按照Henry、Suzi、Ben的顺序显示driver_log表。

[size=small][b]3.Sorting ENUM Values[/b][/size]

select day,day+0 from weekday order by day;
通过使用+0的方式将字符串到数字的转换。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值