-1

アプリに入札テーブルがあり、過去 6 か月間のユーザーあたりの平均入札数を計算する必要があります。テーブル情報は次のとおりです。

  `bid_id` int(10) 
  `catalog_item_id`
  `customer_id` int(10)  
  `amount` decimal(9,2)  
  `date_modified` datetime

したがって、基本的には a を使用しwhere date_modified > "2012-07-31"て過去 6 か月を制限し、その 6 か月ごとに何らかの方法でグループ化し、1) 入札額とユーザーの入札数を数えてから、合計入札者の平均を計算する必要があります。 .

それは意味がありますか?私のアプローチは間違っていますか?どんな助けでも大歓迎です!

4

1 に答える 1

1

これを試して:

SELECT COUNT(`bid_id`) `bids_per_month`, 
       COUNT(DISTINCT `customer_id`) `bidders_per_month`, 
       COUNT(`bid_id`)/COUNT(DISTINCT `customer_id`) `avg_per_month`,
       YEAR(`date_modified`) `year`, MONTH(`date_modified`) `month` 
  FROM bids
 WHERE DATE(`date_modified`) > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
 GROUP BY `year`, `month`

明らかDATE_SUB(CURDATE(), INTERVAL 6 MONTH)に静的な日付に置き換えることができます'2012-07-31'

于 2013-02-01T00:08:08.990 に答える