1. ホーム
  2. mysql

[解決済み] UNIONとORDER BYの使い方が間違っている?

2022-02-15 09:05:01

質問

をどのように使用するのですか? 組合 順序 を使用するのですか?

select * from _member_facebook 
inner join _member_pts 
ON _member_facebook._fb_owner=_member_pts._username 
where _member_facebook._promote_point = 9 
ORDER BY RAND() limit 2 
UNION ALL
select * from _member_facebook 
inner join _member_pts 
ON _member_facebook._fb_owner=_member_pts._username 
where _member_facebook._promote_point = 8 limit 3

エラーを出す

#1221 - Incorrect usage of UNION and ORDER BY

誰か助けてください。

解決方法は?

で試してみてください。

(
  select 
    * 
  from 
     _member_facebook 
   inner join 
     _member_pts 
   ON 
     _member_facebook._fb_owner=_member_pts._username 
  where 
    _member_facebook._promote_point = 9 
  ORDER BY RAND() 
  limit 2
) 
UNION ALL
(
  select 
    * 
  from 
    _member_facebook 
   inner join 
    _member_pts 
   ON 
     _member_facebook._fb_owner=_member_pts._username 
  where 
    _member_facebook._promote_point = 8 
  limit 3
)

とはいえ ORDER BY 節を2つ目のクエリの末尾に追加します。