[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的方式将字符串到数字的转换。
[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的方式将字符串到数字的转换。