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