0

Post私のデータベースには、さまざまなユーザーの投稿を含むテーブルがあります。私がやりたいことは、それぞれの月ごとに毎日行われる投稿の数を返す SQL クエリを作成することです。1 つのクエリで一般的にそれを行う方法を教えてください。すべての日に複数のクエリを作成できますが、これは最悪のシナリオです。だから私はこれに対する専門家の解決策が必要です。ありがとう

期待される出力: (クエリは、それぞれの月のすべての日の投稿数をカウントします)

日 : 投稿数

1:20

2:25

3:10

4:17

...................................

30:6

テーブル構造: ID | postid | post | date

4

3 に答える 3

3
select DAYOFMONTH(date) as Day , count(*) as Number_of_posts
from table
group by DAYOFMONTH(date)

テーブルに異なる月のデータが含まれている場合、投稿数が間違っていることに注意してください。
したがって、グループ化は日付で行う必要があり、日ではなく選択された日付を使用する必要があります。

于 2012-11-09T21:32:50.570 に答える
2
SELECT DAYOFMONTH(date), count(*) FROM Post
GROUP BY DAYOFMONTH(date)
ORDER BY DAYOFMONTH(date) ASC;

特定の月(たとえば2月)を照会する場合は、次を使用します。

SELECT DAYOFMONTH(date), count(*) FROM Post
WHERE MONTH(date) = '2'
GROUP BY DAYOFMONTH(date)
ORDER BY DAYOFMONTH(date) ASC;

注:月は、MONTH()関数が使用される数値形式で返されます。

編集:あなたが特定の月の毎日のカウントを返すことを探しているなら、私はあなたをここにプッシュします-同様の質問への素晴らしい受け入れられた答え:月の毎日の値を取得する方法

于 2012-11-09T21:34:31.740 に答える
1
SELECT date, COUNT(id) as number_of_posts FROM table_name GROUP BY date.
于 2012-11-09T21:32:59.597 に答える