1

concatをグループ化するにはどうすればよいですか?これが私の質問です

select t.date, group_concat(count(*)) from table1 t
group by t.date

ただし、「グループ関数の使用が無効です」というエラーが返されます。

このようなクエリを使用する場合

select t.date, count(*) from table1 t
group by t.date

次に、次の出力を返しますが、この出力をgroup_concatしたい

2011-01-01  100
2011-01-02  97
2011-01-03  105
4

3 に答える 3

1
SELECT GROUP_CONCAT(`cnt` ORDER BY `date`) 
FROM (
    SELECT t.`date`, COUNT(*) AS `cnt`
    FROM `table1` t
    GROUP BY t.`date`
) d
于 2011-04-03T16:33:12.277 に答える
0

日付でグループ化された日付行の数をカウントしますか?

このステートメントを使用して、特定の月の日付ごとの請求書アイテムの数をカウントします。

SELECT date(i.Date), count(*) cnt
FROM invoice i
WHERE MONTH(i.Date) = 3
GROUP BY date(i.Date)

これにより、同じであるすべての日付がグループ化されます。これはあなたが意味したことですか?

複数の行を返すサブクエリにはGROUP_CONCATを使用します。

*編集* おっと、私の提案はあなたがすでに試したものと同じであることがわかりました。それなら私はあなたが何を探しているのか分かりません。希望する結果の例を教えてください。

于 2011-04-03T16:19:37.430 に答える
0

あなたはこのようなものが欲しいです:

SELECT GROUP_CONCAT(n) groupN
FROM (SELECT COUNT(*) n
      FROM table1
      GROUP BY date) tmp

しかし、それはRDBMSの役割ではありません!コスメティックはアプリケーション言語(PHP、Python、Rubyなど)の役割であり、クエリはデータ、期間のみを選択する必要があります。したがって、この場合、GROUP_CONCATは解決策ではありません。

于 2011-04-03T16:34:42.590 に答える