我试图按ASC顺序对整数字段进行排序,但它会自动将“0”值放在底部附近(刚好在NULL值之上)。
我正在使用SQL Server 2005.我认为我的DBMS已经过时,因为我试图使用NULLS FIRST,但它无法识别。
*编辑以显示更好的查询(感谢快速反馈)
我想看到的内容:
PriSortOrder /社区名称
的 0 /陶森
1 /亚特兰大
2 /巴尔的摩
NULL
我所看到的:
PriSortOrder /社区名称
1 /亚特兰大
2 /巴尔的摩
0 /陶森
NULL
查询:
SELECT PriSortOrder, CommunityName
FROM Communities
WHERE InCatalog=1
ORDER BY PriSortOrder
答案 0 :(得分:0)
在显示PrioritySortOrder
值以及Community
值之前,您不能说数据的顺序是正确的(或错误的)。例如,如果数据是:
Community PrioritySortOrder
0 5
1 0
2 3
NULL 6
您将获得输出:
1
2
0
NULL
如果数据是:
Community PrioritySortOrder
0 0
1 1
2 2
NULL 3
然后你会得到结果:
0
1
2
NULL
您可以通过(添加FROM table
子句并按Community
而不是PrioritySortOrder
排序来修复SQL(尽管NULL是先到还是最后取决于您的DBMS)。 / p>