6

きがついた

(SELECT title、relavency、'search1' as source FROM search1
relavencyDESCによる注文
制限10)
連合
(SELECT title、relavency、'search2' as source FROM search2
relavencyDESCによる注文
制限10)
relavencyDESCによる注文
制限10

最後のLIMIT10は機能しません。なぜ?

エラーは

「エラーコード1064:...「LIMIT1000」の近くで使用する」

mysqlworkbenchがLIMIT10をLIMIT1000として検出するのはなぜですか?しかし、その1000の場合、それはまだ機能しますか?

4

1 に答える 1

5

クエリは、エイリアス化されたネストされたサブクエリを使用して書き換えることができます。これはあなたのために働くはずです:

SELECT u.* FROM (
    (SELECT s1.title, s1.relavency, 'search1' as source FROM search1 AS s1
    ORDER BY s1.relavency DESC
    LIMIT 10)
        UNION 
    (SELECT s2.title, s2.relavency, 'search2' as source FROM search2 AS s2
    ORDER BY s2.relavency DESC
    LIMIT 10)
) AS u ORDER BY u.relavency DESC 
LIMIT 10

参考:「関連性」のつづりを間違えましたが、クエリが機能するようにつづりの間違いを保持しました。

于 2009-09-27T02:25:44.240 に答える