在SQL浏览器中为Descite和Asc排序[关闭]

问题描述 投票:1回答:3

我正在使用DB Browser for DBite,(版本3.10.0,Qt版本5.7.1,SQLCipher版本3.15.2),我有一个列,我想先排序最高值。我用了:

SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY Totalclaims Desc;

问题是我的查询有$993.00被视为大于$9920.00。显然,过滤器无法正确识别小数位。任何建议如何解决这个问题?

sql sqlite decimal sql-order-by
3个回答
1
投票

清理Totalclaims列,这应该为您订购。

   SELECT first_name, last_name, cast(replace(Totalclaims,'$', '') as SIGNED) as TotalClaims_Clean
    FROM workingdata
    ORDER BY Totalclaims_Clean Desc;

1
投票

- tonypdmtr写道:尝试使用ORDER BY强制转换(替换(Totalclaims,'$','')为浮动)描述;

它就像一个魅力。


0
投票

如果你总是有两个小数位,那么先按Totalclaims的长度排序,然后再按Totalclaims排序。

编辑:

SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY length(Totalclaims) desc, Totalclaims Desc;
© www.soinside.com 2019 - 2024. All rights reserved.