在 SQLite 的数据库浏览器中按 Desc 和 Asc 排序
Order by Desc and Asc in DB Browser for SQLite
我正在使用 DB Browser for SQLite(版本 3.10.0,Qt 版本 5.7.1,SQLCipher 版本 3.15.2),并且我有一个列,我想首先按最高值排序。我用过:
SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY Totalclaims Desc;
问题是我的查询 3.00
被视为大于 20.00
。显然过滤器没有正确识别小数位。任何建议如何解决这个问题?
如果你总是有两位小数,那么先按Totalclaims
的长度排序,然后在Totalclaims
之后排序。
编辑:
SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY length(Totalclaims) desc, Totalclaims Desc;
清除 Totalclaims 列,这应该会为您排序。
SELECT first_name, last_name, cast(replace(Totalclaims,'$', '') as SIGNED) as TotalClaims_Clean
FROM workingdata
ORDER BY Totalclaims_Clean Desc;
– tonypdmtr 写道:
试试
ORDER BY cast(replace(Totalclaims,'$','') as float) Desc;
它就像一个魅力。
我正在使用 DB Browser for SQLite(版本 3.10.0,Qt 版本 5.7.1,SQLCipher 版本 3.15.2),并且我有一个列,我想首先按最高值排序。我用过:
SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY Totalclaims Desc;
问题是我的查询 3.00
被视为大于 20.00
。显然过滤器没有正确识别小数位。任何建议如何解决这个问题?
如果你总是有两位小数,那么先按Totalclaims
的长度排序,然后在Totalclaims
之后排序。
编辑:
SELECT first_name, last_name, Totalclaims
FROM workingdata
ORDER BY length(Totalclaims) desc, Totalclaims Desc;
清除 Totalclaims 列,这应该会为您排序。
SELECT first_name, last_name, cast(replace(Totalclaims,'$', '') as SIGNED) as TotalClaims_Clean
FROM workingdata
ORDER BY Totalclaims_Clean Desc;
– tonypdmtr 写道: 试试 ORDER BY cast(replace(Totalclaims,'$','') as float) Desc;
它就像一个魅力。