2012-05-08 3 views
0

毎月の購入台数を見つけるにはヘルプが必要です。私はテーブル(例えば簡体字)、このような(購入)のセットアップを持っている:月に購入された車の合計台数のMySQLクエリ

sno 
    country 
    purchased_date(yyyy-mm-dd) 
    make 
    model 

は今、私は毎月購入した車の総数は、 でレポートを生成したいとここに私のクエリがあります:

SELECT COUNT(`country`), `model`, `make`, `purchase_date`, `country` 
FROM charmy_purchase 
WHERE `country` != '' 
GROUP BY model 

間違ったレポートが生成されます。たぶん

+0

"それは間違ったレポートを生成します。"具体的に何が間違っていますか?いくつか例を挙げることができますか?なぜ月単位ではなくモデル単位でグループ化していますか?あなたの質問とあなたのSQLの例は関連していないようです。 –

+0

車の数が間違って表示されます – Raj

+0

あなたは何をしたいのかいくつかの例を挙げることができますか?あなたの質問文言とSQLはまったく一致しません。質問からあなたが望むものを推測するのは難しいです。あなたのSQLは国とモデルを参照しているのはなぜですか?あなたはあなたの質問にそれらのフィールドを言及していません。質問を書いた人とSQLを書いた人が、まったく話したことのない全く別の2人の人物です。 –

答えて

3

このような何か:

SELECT 
    COUNT(`country`) , 
    `model` , 
    MONTH(purchase_date) AS Month 
FROM 
    charmy_purchase 
WHERE 
    `country` != '' 
GROUP BY 
    model, 
    MONTH(purchase_date) 

EDIT

あなたは別の年がある場合。次に、年単位でグループ化することも考えられます。このように:

SELECT 
    COUNT(`country`) , 
    `model` , 
    MONTH(purchase_date) AS Month, 
    YEAR(purchase_date) AS year 
FROM 
    charmy_purchase 
WHERE 
    `country` != '' 
GROUP BY 
    model, 
    MONTH(purchase_date), 
    YEAR(purchase_date) 

便利な参照:

+0

ありがとうございました。うまく動作します。 – Raj

+0

問題ありません。喜んで助けてください。答えがうまくいけば。あなたはそれを受け入れることを検討するかもしれません? – Arion

関連する問題