我想在order by的连接查询中使用distinct。不同的列和按列排序是不同的。在Sql Server 2008中使用Distinct&Order by
1
A
回答
3
当指定DISTINCT
时,SQL Server只允许您在SELECT
列表中允许ORDER BY
列,否则未选定的列可能会有多个值映射到返回结果中的特定行。
如果您知道事实并非如此,您可以使用CTE。
;WITH CTE
AS (SELECT DISTINCT foo,
bar
FROM T)
SELECT foo
FROM CTE
ORDER BY bar
如果这不适合你,因为确实有每个foo
多个可能bar
值,则需要明确地告诉它使用订购的目的,其价值。例如改为使用GROUP BY
。
SELECT foo
FROM T
GROUP BY foo
ORDER BY MIN(bar)
+0
+1这是一个很好的解决方法!我会记住那一个。 – Aaron 2012-01-12 13:28:21
+0
非常感谢 – 2012-01-13 06:25:01
相关问题
- 1. ORDER BY在Sql Server 2008视图中
- 2. 如何在SQL Server 2008+中使用ORDER BY和FOR SELECT选择DISTINCT
- 3. 如何在SQL Server中使用ORDER BY和FOR XML选择DISTINCT
- 4. SQL Server 2008中的ORDER BY条件
- 5. 在SQL Server 2008中使用distinct和sum
- 6. ORDER BY ... COLLATE在SQL Server中
- 7. DISTINCT后ORDER BY
- 8. 在SQL Server 2008中使用group by和order by检索结果时出错Error
- 9. group by,order by,distinct together
- 10. MySQL order by COUNT DISTINCT
- 11. SELECT DISTINCT和ORDER BY
- 12. 动态ORDER BY在SQL Server
- 13. 使用SELECT DISTINCT()与ORDER BY错误
- 14. 在SQL Server中使用sum by order by子句
- 15. 结合SELECT DISTINCT和ORDER BY
- 16. 是否可以在SQL Server 2008中选择特定的ORDER BY?
- 17. SELECT * INTO在SQL Server 2008中保留ORDER BY,但不保留2012
- 18. 复杂DISTINCT,ORDER BY,WHERE SQL SELECT语句
- 19. SQL SELECT从副本DISTINCT ORDER BY ID CID
- 20. 同时使用DISTINCT,SUBSTR和ORDER BY
- 21. MySQL查询使用DISTINCT和ORDER BY
- 22. SQL Server ORDER BY [aggregation] DESC/ASC
- 23. SQL Server order by different values
- 24. SQL Server 2008 GROUP BY
- 25. MYSQL DISTINCT和ORDER BY一起
- 26. ORDER BY和DISTINCT ON(...)在Rails中
- 27. MySQL SELECT DISTINCT ORDER BY问题
- 28. Mysql的DISTINCT ACCOUNT_ID和ORDER BY
- 29. 如何在sql server 2008中使用distinct和column属性?
- 30. ORDER BY在SQL
问题是什么? – 2012-01-12 13:25:09