mysql union order by_MySQL order by 在 union 中使用实例分析
下面是用于例子測試的兩張原始數據表:
article 文章表:
aid
title
content
1
文章1
文章1正文內容...
2
文章2
文章2正文內容...
3
文章3
文章3正文內容...
blog 日志表:
bid
title
content
1
日志1
日志1正文內容...
2
文章2
文章2正文內容...
3
日志3
日志3正文內容...
UNION 子句中使用 ORDER BY
子句中使用 ORDER BY,即將?SELECT?子句的結果先排序,然后再把這些子句查詢的結果進行集合。
在子句中使用 ORDER BY,由于優先級問題,需要將整個子句加圓括號(),且必須與 LIMIT 結合使用:
(SELECT aid,title FROM article ORDER BY aid DESC LIMIT 10)
UNION ALL
(SELECT bid,title FROM blog ORDER BY bid DESC LIMIT 10)
返回查詢結果如下:
aid
title
3
文章3
2
文章2
1
文章1
3
日志3
2
文章2
1
日志1
UNION 整句中使用 ORDER BY
如果想使用 ORDER BY 或 LIMIT 來對全部 UNION 結果進行分類或限制,則應對單個 SELECT 語句加圓括號,并把 ORDER BY 或 LIMIT 放到最后一個的后面。
(SELECT aid,title FROM article)
UNION ALL
(SELECT bid,title FROM blog)
ORDER BY aid DESC
返回查詢結果如下:
aid
title
3
文章3
3
日志3
2
文章2
2
文章2
1
文章1
1
日志1
整句中使用 ORDER BY,去掉 SELECT 子句中的圓括號雖然結果是一樣的,但為了語句清晰,建議不要省略圓括號。
UNION ORDER BY 應用于別名
如果 SELECT 中使用到了字段別名,則 OEDER BY 必須引用別名:
(SELECT a AS b FROM table) UNION (SELECT ...) ORDER BY b
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql union order by_MySQL order by 在 union 中使用实例分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言0x00如何不截断_binary
- 下一篇: mysql性能测试工具msyqlslap