我想在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中使用ORDER BY和FOR XML选择DISTINCT
- 3. SQL Server 2008中的ORDER BY条件
- 4. 在SQL Server 2008中使用distinct和sum
- 5. DISTINCT后ORDER BY
- 6. MySQL order by COUNT DISTINCT
- 7. SELECT DISTINCT和ORDER BY
- 8. 动态ORDER BY在SQL Server
- 9. 使用SELECT DISTINCT()与ORDER BY错误
- 10. 在SQL Server中使用sum by order by子句
- 11. SQL SELECT从副本DISTINCT ORDER BY ID CID
- 12. 是否可以在SQL Server 2008中选择特定的ORDER BY?
- 13. MySQL查询使用DISTINCT和ORDER BY
- 14. SQL Server ORDER BY [aggregation] DESC/ASC
- 15. ORDER BY和DISTINCT ON(...)在Rails中
- 16. Mysql的DISTINCT ACCOUNT_ID和ORDER BY
- 17. 如何在sql server 2008中使用distinct和column属性?
- 18. ORDER BY在SQL
- 19. 为什么SQL DISTINCT不能与ORDER BY CAST一起使用?
- 20. 使用DISTINCT时,LINQ to SQL不会生成ORDER BY?
- 21. SQL order by,group by,distinct和aggregation函数的进程顺序?
- 22. SQL Server中的ORDER BY子句
- 23. 在SQL中使用ORDER BY子句
- 24. SQL ORDER BY GROUP BY
- 25. SQL ORDER BY GROUP BY
- 26. sql group by versus distinct
- 27. 如何在LINQ-To-Sql的相同查询中使用TOP,ORDER BY和DISTINCT?
- 28. DISTINCT如何与ORDER BY交互?
- 29. 在$ wpdb中使用ORDER BY
- 30. SQL Order by ... ASC
问题是什么? – 2012-01-12 13:25:09