0
どのようにユニオン上のグループにクエリをラップするのですか?Knex.jsのクエリーラップ
私はこのクエリを持っている:
SELECT * FROM (
(SELECT u1.* FROM `user` AS u1 WHERE user_email IS NOT NULL GROUP BY u1.key)
UNION ALL
(SELECT u2.* FROM `user` AS u2 WHERE user_email IS NULL)
) AS u ORDER BY u.id LIMIT 10
私はこれまで行うことができました:
knex.select('*').from('user').whereNotNull('email').groupBy('user.key')
.unionAll(function() {
this.select('*').from('user as u2').whereNull('u2.email');
}, true)
しかし、これはにつながる:
失敗であるSELECT user.* FROM `user` WHERE user.email IS NOT NULL
UNION ALL
(SELECT u2.* FROM `user` AS u2 WHERE email IS NULL)
GROUP BY user.key
。これを行う方法はありますか?最初のクエリのようなものが必要です。なぜなら、IDで並べ替えてページを取得する必要があるからです。