`
jvuentuslm
  • 浏览: 30925 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

排序查询结果

阅读更多
Sorting Query Results

1.Sorting by Variable-Length Substrings

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;
将人们发送给自己信息的数据行放置在开始处。

2.Sorting in User-Defined Orders

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

3.Sorting ENUM Values

select day,day+0 from weekday order by day;
通过使用+0的方式将字符串到数字的转换。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics