我想在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