0

エポックからの秒数を含むトランザクションの詳細を格納するバックエンドテーブルがあります。日付の間に発生したトランザクションの数を表示するために、開始日から終了日までを収集するUIを作成しています。

日付範囲が2012年7月1日から2012年7月30日までであると仮定すると、その期間内に発生したレコードのカウンターをインクリメントするロジックを確立できません。毎日打つとパフォーマンスが低下するため、DBを1回だけ打つ必要があります。

私は論理で立ち往生しています:

Convert 07/01/2012 & 07/30/2012 to seconds since epoch.
Get the records for start date - end date [as converted to seconds since epoch] 
   For each record get the month / date 
     -- now how will we add counters for each date in between 07/01/2012 - 07/30/2012 
4

1 に答える 1

1

MySQLには、FROM_UNIXTIMEエポックからの秒数を日時に変換する機能があり、そのDATE一部(YYYY-MM-DDフォーマット)を抽出して、それに応じてグループ化することができます。

SELECT DATE(FROM_UNIXTIME(timestamp_column)), COUNT(*)
FROM table_name
GROUP BY DATE(FROM_UNIXTIME(timestamp_column))

これは次のようなものを返します

2012-07-01  2
2012-07-03  4
…

(トランザクションのない日のエントリはありません)

于 2012-07-27T09:29:41.850 に答える