Collections:
Using ORDER BY with UNION Operators in SQL Server
How To Use ORDER BY with UNION Operators in SQL Server?
✍: FYIcenter.com
If you need to sort the output from two queries grouped together with a UNION operator, you need to apply the ORDER BY clause at the group level, not at the subquery level.
Note that SQL Server and MySQL react differently to the ORDER BY clause used in a subquery of a UNION operator:
The following tutorial exercise shows you how to use ORDER BY clause with UNION operator:
(SELECT * FROM fyi_links WHERE tag = 'DBA' ORDER BY created) UNION (SELECT * FROM fyi_links WHERE tag = 'DEV' ORDER BY created) GO Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'ORDER'. Msg 156, Level 15, State 1, Line 5 Incorrect syntax near the keyword 'ORDER'. (SELECT * FROM fyi_links WHERE tag = 'DBA') UNION (SELECT * FROM fyi_links WHERE tag = 'DEV') ORDER BY created GO id url notes counts created tag 106 www.php.net 439 2004-01-01 DEV 105 www.oracle.com 960 2005-01-01 DBA 104 www.mysql.com 390 2006-01-01 DBA 101 dev.fyicenter.com NULL 120 2006-04-30 DEV 102 dba.fyicenter.com NULL 972 2007-05-19 DBA
Note that the ORDER BY works nicely. Rows returned from both subqueries are sorted together.
⇒ Using SELECT Statements and GROUP BY Clauses in SQL Server
⇐ UNION - Merging Outputs from Two Queries Together in SQL Server
⇑ Using SELECT Statements with Joins and Subqueries in SQL Server
2016-10-26, 1586🔥, 0💬
Popular Posts:
How To Convert Numeric Expression Data Types using the CAST() Function in SQL Server Transact-SQL? I...
How to download and install Microsoft SQL Server Management Studio Express in SQL Server? Microsoft ...
How To Disable a Login Name in SQL Server? If you want temporarily disable a login name, you can use...
How To Divide Query Output into Multiple Groups with the GROUP BY Clause in SQL Server? Sometimes, y...
Is PL/SQL Language Case Sensitive in Oracle? PL/SQL language is not case sensitive: Reserved words a...