kohana订单组和计数

时间:2014-06-09 12:04:56

标签: orm count group-by kohana

我有像tthis这样的orm查询:

$userCountries = ORM::factory('User')
                ->select(array(DB::expr('countries.code, COUNT("countries.id") as total')))
                ->join('countries')
                ->on('user.country_id', '=', 'countries.id')
                ->group_by('country.name')
                ->order_by('total', 'DESC')
                ->find_all();

我想要的是具有来自国家/地区的总用户数量的国家/地区代码。

我不知道这里有什么问题。我花了3个小时没有成功。

此查询有什么问题?

1 个答案:

答案 0 :(得分:0)

您的SELECT Params错误 ->select('countries.code', array(DB::expr('COUNT("countries.id")', 'total')))

我认为该集团应该是 ->group_by('countries.name') instead of ->group_by('country.name')

因此,您的总查询将如下所示

$userCountries = ORM::factory('User')
            ->select('countries.code', array(DB::expr('COUNT("countries.id")', 'total')))
            ->join('countries')
            ->on('user.country_id', '=', 'countries.id')
            ->group_by('countries.name')
            ->order_by('total', 'DESC')
            ->find_all();`

检查出来......