0

私は Laravel 4 php フレームワークを使用しており、流暢なクエリビルダーを使用して統計タイプのデータを取得する必要があります。次のような構造のデータベーステーブルがあります

id: int
group_id: int
sent_at: datetime
message_id: int

同じメッセージ ID を持つすべての行の数を取得する流暢なクエリが必要です。また、その数を group_id で整理したいと考えています。

たとえば、メッセージ ID が 1 で、メッセージ ID が 1 の各行にはグループ ID があり、同じである場合とそうでない場合があります。特定のメッセージ ID のテーブルにあるグループ ID と、各グループ ID の合計数を知る必要があります。

それが理にかなっていることを願っています。

助けてくれてありがとう。

4

2 に答える 2

-2

各 message_id の group_id の数を取得するクエリを試してください。

SELECT message_id, count(group_id) FROM table GROUP BY message_id

特定の message_id を取得するには、「WHERE」を使用します。

SELECT message_id, count(group_id) FROM table WHERE message_id = XX GROUP BY message_id

特定の message_id のすべての group_id を取得するには、次のような単純なクエリを使用します。

SELECT group_id FROM table WHERE message_id = XX

それがあなたが探していたものでない場合は、私に知らせてください-私たちは正しいものに取り組みます:)

(もちろん、「テーブル」をテーブル名に変更してください)

編集: message_id = 1 の group_id のカウントを取得する流暢なバージョンの例:

$query = DB::table('table')
->select(array('message_id', DB::raw('COUNT(group_id) as group_count')))
->where('message_id', '=', 1)
->group_by('message_id')
->get();
于 2013-08-23T07:59:36.617 に答える