日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql不支持union_MySQL中Union子句不支持order by的解决方法

發(fā)布時間:2024/9/27 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql不支持union_MySQL中Union子句不支持order by的解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文實例講述了MySQL中Union子句不支持order by的解決方法。分享給大家供大家參考,具體如下:

我對DB知之甚少,這問題只在MySQL遇到,不知道別的DBMS是不是也如此。

問題是這樣的,我打算在一個表里獲得與某一行記錄相鄰的兩行,并且想通過union一起取出來,所以這么寫:

select id,title from subjects where id>#some_id# order by id limit 1

union

select id,title from subjects where id

但出現(xiàn)了錯誤提示“Incorrect usage of UNION and ORDER BY”。看來不能這么用union和order by,但這里確實是需要order by的。很快,我想到了一個變通的寫法:

select * from (

select id,title from subjects where id>#some_id# order by id limit 1

) union

select id,title from subjects where id

從經(jīng)驗上說,第二個子句該不會被union影響,可以用order by。于是把第一個子句包在一個括號里,這下應(yīng)該就可以了。可是還是有錯誤,提示“ Every derived table must have its own alias”。這里的提示是需要給我們括號里面生成的臨時表取一個別名,這個好辦多了。于是改為:

select * from (

select id,title from subjects where id>#some_id# order by id limit 1

) as t1 union

select id,title from subjects where id

這條語句成功執(zhí)行并且得到了正確的結(jié)果,在此寫下來備忘。

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

總結(jié)

以上是生活随笔為你收集整理的mysql不支持union_MySQL中Union子句不支持order by的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。