[前][次][番号順一覧][スレッド一覧]

mysql:8281

From: seiji takegata <seiji takegata <takegata@xxxxxxxxxx>>
Date: Thu, 16 Oct 2003 03:32:53 +0900
Subject: [mysql 08281] Re: ランキングをつける方法?

竹形です。

> 
> 僕のやりたい事は、毎日の売り上げを月で締め、その商品をカテゴリーごとに集計
> し、ランキング(順位をつけて)して表示するイメージです。
> 

この説明では、どのように集計して順位を付けようとしているのか分かりませんぜ。
売り上げの金額なのか、個数なのか、カテゴリーの総売上なのか、カテゴリー内の
商品のランキングなのか。それらの元になるデータはどのようにテーブルに格納
されているのか(1個売れたら1レコードが追加されるのか、毎日売れた個数or金額が
1つのレコードに加算されていくのか)といったことが分からないとSQL文は書けませ
んね。

1つ売れるごとにjournalテーブルに1レコード(year,month,date,item_id,price)が
追加され、1ヶ月で売れた数を多い順に並べたいのなら、

 SELECT item_id,count(*) AS count 
 FROM journal 
 WHERE year=2003 AND month=10 
 GROUP BY item_id 
 ORDER BY count DESC;

こんな感じかな。合ってる?
売り上げだったらcount(*)の代わりにsum(price)とか。


--
seiji takegata
takegata@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

      8272 2003-10-15 20:47 [TORU NOMURA <toru200] ランキングをつける方法?                
      8273 2003-10-15 21:51 ┗[UNO Shintaro <uno@xx]                                       
      8274 2003-10-15 22:16  ┗[TORU NOMURA <toru200]                                     
      8275 2003-10-15 22:40   ┣["HIGUCHI Koichi" <ko]                                   
      8276 2003-10-15 23:09   ┃┗[TORU NOMURA <toru200]                                 
      8277 2003-10-15 23:20   ┃ ┣[mohri <mohri@xxxxxxx]                               
      8278 2003-10-15 23:31   ┃ ┗[UNO Shintaro <uno@xx]                               
      8279 2003-10-15 23:34   ┃  ┗[UNO Shintaro <uno@xx]                             
->    8281 2003-10-16 03:32   ┗[seiji takegata <take]                                   
      8282 2003-10-16 19:56    ┗[TORU NOMURA <toru200]                                 
      8292 2003-10-18 04:26     ┗[seiji takegata <take]