1

たぶん、私は今正しく考えることができません。しかし、私が試して理解したいのは、DB でカテゴリごとの行数である一連の結果を返す方法です。各カテゴリに基づいてクエリを実行する必要はありません。

この場合のカテゴリは状態です。データを分割する 50 の異なる状態を持つ 90,000 行のデータがあります。各状態に関連付けられたカウントを作成する方法はありますか?

とか言いたいけどgroup_by、正直今は思いつかない。アイデア?

member | comment | state | dataset
----------------------------------
000    |something| CA    | an_object_of_data
000    |something| CA    | an_object_of_data
000    |something| CA    | an_object_of_data
000    |something| NY    | an_object_of_data
000    |something| NY    | an_object_of_data
000    |something| CA    | an_object_of_data
000    |something| CT    | an_object_of_data
000    |something| CA    | an_object_of_data

上記は、並べ替えの db テーブルの例です。90k 行以上のようなものを想像してみてくださいstate

結果などをグループ化して返されるカウントを取得する方法があれば、たとえば「CA = 4」、「CT = 1」、「NY = 2」などです。

4

2 に答える 2

10
select state,  count(state) from states group by state order by state ASC;

これは最も簡単な方法で機能すると思います。

CI スタイル:

$this->db->select("state, count(state)");
$this->db->from("states");
$this->db->group_by("state");
$this->db->order_by("state", "ASC");
$this->db->get();
于 2013-07-16T06:59:32.987 に答える
3

コードは

$this->db->select('count(states.state) as count,state',false)
         ->from(states)
         ->group_by('states.state')
         ->get()
         ->result();
于 2013-07-16T07:55:14.487 に答える