我有一个表T,我试图通过desc命令对它们进行排序 我用了
select * from T
Order by column_name desc .
但我得到一个Asc命令而不是desc。我无法在此处上传图片,因此粘贴了我的结果。请看一下并提前致谢
970.000000
970.000000
825.000000
1205.000000
1170.000000
1170.000000
1050.000000
1000.000000
1000.000000
1000.000000
答案 0 :(得分:1)
订购时将列投射到数字:
SELECT *
FROM T
ORDER BY CAST(column_name AS NUMERIC(12,6)) DESC
我建议将数字数据存储在数字类型列中,因为当数据存储为文本时,很难在数据库中处理这些数据。
答案 1 :(得分:0)
这些列名称是?您编写的查询将按列名称的降序从表中提供行
答案 2 :(得分:0)
您将数字数据存储为文本。这可能会导致这样的问题。蒂姆的答案是一种方法。
另一个将处理您的数据,因为所有数据都具有相同的格式:
order by len(col) desc,
col desc