我怎样才能按这个顺序返回这些:
1: aaaa
2: bbbb
3: the cccc
4: dddd
所以忽略领先的'the'
目前我正在使用。
select * from houses order by name asc
并按此顺序返回。
1: aaaa
2: bbbb
3: dddd
4: the cccc
谢谢
我怎样才能按这个顺序返回这些:
1: aaaa
2: bbbb
3: the cccc
4: dddd
所以忽略领先的'the'
目前我正在使用。
select * from houses order by name asc
并按此顺序返回。
1: aaaa
2: bbbb
3: dddd
4: the cccc
谢谢
一个更正确但更慢的答案是:
ORDER BY CASE WHEN SUBSTR(name, 1, 4) = 'the ' THEN SUBSTR(name, 5) ELSE name END;
如果你想删除the
订单,那么你可以使用:
select id, name
from yourtable
order by replace(name, 'the ', '')
或者:
select id, name
from yourtable
order by ltrim(replace(name, 'the', ''))
甚至使用以下内容:
select id, name
from yourtable
order by
case
when substring(name, 1, 4) = 'the '
then substring(name, 5)
else name end
Hey Man 它的升序意味着a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
。由于 d 在 t 之前出现,所以它首先呼应它!ORDER BY 只检查字符串的第一个字母,然后对它们进行排序。如果您希望他们像这样订购:
1:啊啊啊
2:bbbb
3:cccc
4:dddd
然后再制作一列整数类型的id,根据您的口味取值,并为其添加自动增量属性,然后按升序排列它们!