Laravel雄辩的子查询别名

问题描述 投票:0回答:1

如何在Laravel 5.1中做到这一点?

SELECT *
FROM
(
    SELECT subscriber_id, COUNT(*) as count
        FROM mailing_group_subscriber
        WHERE mailing_group_id IN ('99', '15498855416270870')
    GROUP BY subscriber_id
) table_count
WHERE count = 2;

谢谢!

subquery laravel-5.1
1个回答
0
投票

你的查询没有使用,因此它将统计所有并选择计数为2.因此,获取所有计数,并通过集合选择计数2:

DB::table('mailing_group_subscriber')
  ->select(DB::raw('COUNT(*) as count'))
  ->select('subscriber_id')
  ->groupBy('subscriber_id')
  ->whereIn('mailing_group_id', ['99', '15498855416270870'])
  ->pluck('count', 'subscriber_id')
  ->where('count', 2);
© www.soinside.com 2019 - 2024. All rights reserved.