0

1 日に発生するイベントをカウントしようとしていますが、それ自体は簡単です。

SELECT date(time),COUNT(DISTINCT comment)
FROM data
GROUP BY date(time)

しかし、1 日の終わりを午後 4 時に設定する必要があります。したがって、午後 4 時より前のすべてのコメントは N 日目であり、午後 4 時以降のニュースは N+1 日目です。これはグローバルなものではないので、プログラム全体のタイムゾーンなどを変更したくないのですが、このクエリまたはパッドタイムにタイムゾーンを適用することはできますか?

4

2 に答える 2

1
SELECT
  DATE_ADD(date(time),
    INTERVAL case when time(time)>='16:00:00' then 1 else 0 end DAY) as day,
    COUNT(DISTINCT comment)
FROM data
GROUP BY day
于 2012-12-16T22:17:07.107 に答える
1

これを試しましたか:

SELECT date(time + INTERVAL 8 HOUR) as day, COUNT(DISTINCT comment)
FROM data
GROUP BY day

1 日を午後 4 時に終わらせたい場合、または 8 時間早く終わらせたい場合は、 に 8 時間を追加しtime、強制的に午後 4 時に日付を繰り越します。

于 2012-12-16T22:18:29.910 に答える