SQL中orderby排序有问题,求解决
发布网友
发布时间:2022-04-25 12:44
我来回答
共2个回答
热心网友
时间:2022-04-11 18:21
你这个sort列肯定是非数值型的,所以他排序的时候会按照字符串排序方式;1开头的字符串排在前面,排完了,然后才开始排2开头的字符串,3、4、5往后面推;
如果你想要按照数字排序,先要把字符串转换成数字格式;
如果是sqlserver数据库的话,
order
by
convert(int,sort)
ASC或者order
by
cast(sort
as
int)
ASC
如果是oracle数据库的话就用order
by
to_number(sort)
ASC;
我看你上面的显示格式,应该是sqlserver吧,我以前也遇到过类似问题。
热心网友
时间:2022-04-11 19:39
--晕!
--可能是你没有注意到吧。
--其实在你写的语句里去掉
'业务编号'
里的
''
就可以了!
select
*
from
table1
order
by
substring(业务编号,6,8)
SQL中orderby排序有问题,求解决
你这个sort列肯定是非数值型的,所以他排序的时候会按照字符串排序方式;1开头的字符串排在前面,排完了,然后才开始排2开头的字符串,3、4、5往后面推;如果你想要按照数字排序,先要把字符串转换成数字格式;如果是sqlserver数据库的话, order by convert(int,sort) ASC或者order by cast(sort as...
sql语句语法错误,关于order by的排序问题
你这个错误是因为你加入的排序ORDER BY ,你把排序改成如下SQL语句:SELECT report_id,build_date_s,[file_name],titleFROM ( SELECT TOP 100 percent report_id,build_date_s,[filename],title,type FROM app_report WHERE type='0' AND user_id = '606' ORDER BY report_id,type,user_...
xml中写sql语句order by排序不生效的问题
排序字段和顺序由前端传入字段来动态控制,写好sql语句后死活不生效,在workbench中调试是没有问题的,为此扣了半天脑壳,最后还是在百度上找到了答案,下面是不生效的sql语句:传入的参数我用的是 #{} 去调取引用,问题就出在这里,在判断条件和分页中用 #{} 使用没有任何问题,但 在order by排序中...
sql ORDER BY 多个字段,排序变慢几十倍,求解?
在linq中,排序的时候,一定要用new 排序的对象,不然ID 将不会被加入到SQL中 linq:var t = from a in t where ...select a;t = t.orderby(t=>t.ID).orderby(t=>t.record_date) 此处的ID在解释成SQL时,不会在SQL中 应写为:t = t.orderby(t=>new{t.ID,t.record_date})...
order by sql排序问题
因为你的s_score 是 varchar的,排序是按varchar的顺序排 如 100 和 2 100的第一位是1 比 2 小,所以在2前面,你可以在order by里转换成number进行排序
sql查询中,order by 排序失效(逗号后面的换了其他任何都没用)_百度...
优先handerdate 排序 ,handerdate排序之后才会进行你得第二个字段排序 ,第二个字段排序是在你第一次排序完的基础上进行的, 所以你这个排序应该是对的
sql语句中的order by排序问题 数据库中有一priority字段,取值为高、中...
这个无法出现正常的排序。在SQL中对于字符或是汉字的排序依据是汉字字母按英文排序的方式。也就是说如果在没有更改的情况下,select * from table order by priority [ASC]顺序应该是低(D),高(G),中(Z)的顺序进行排列的。而若是select * from table order by priority DESC(降序)时与ASC...
mybatis动态order by 排序问题 2021-09-17
sql查询需要根据条件动态修改排序字段以及升降序;刚开始尝试在sql中直接使用choose when进行判断:此方式执行时,始终进不了判断。使用 order by {orderType}进行判断,在传递查询条件的时候,将需要排序的字段注入 执行后sql为 order by A_DATE desc 或 order by B_DATE asc。如此便解决问题。
sql 排序 不按顺序怎么回事
如果是有表里面有很多行的话,一个order by name是出不来的,用临时表吧,oracle的话,就像这样;create table aaa_tmp as select from xx where name like 'a%';insert into aaa_tmp select from xx where name like '%a%';insert into aaa_tmp select from xx where name like '%a';sel...
sql order by 日期 排序问题
至于SqlServer的时间排序法,datetime型因为本身就是诸如 '20091001 11:23'这样的格式,所以排序根本不需要考虑什么日期相同怎么办,如果有些奇怪的人喜欢用月、年、日期排序,也不是不可以 比如说 order by month(gatedate()),year(gatedate()),day(gatedate())秒和分钟的函数我急不起来了,你可以...