ネストされたクエリに関するNoobの質問。このSQLクエリに少し問題があります。助けてください。同じテーブル内の2つのフィールドをCOUNTにしようとし、月、年ごとにグループ化します。クエリは、新しいフィールドと更新フィールドで同じ結果を返します。ネストしたMYSQLグループ年:MONTH、YEAR
SELECT MONTH(p.created_at) as Month, YEAR(p.created_at) as Year,
(SELECT COUNT(p.id) FROM payments p
INNER JOIN carts c ON c.payment_id = p.id
INNER JOIN cart_items ci on ci.cart_id = c.id
WHERE ci.item_id = 8) as 'New',
(SELECT COUNT(p.id) FROM payments p
INNER JOIN carts c ON c.payment_id = p.id
INNER JOIN cart_items ci on ci.cart_id = c.id
WHERE ci.item_id = 13) as 'Renewal',
FROM payments p
GROUP BY month, year
ありがとうございます!
クエリExpample
Month Year New Renewal
1 2010 1169 556
1 2011 1169 556
1 2012 1169 556
2 2010 1169 556
2 2011 1169 556
サンプルデータを提供すると、より簡単に回答できます。このクエリの結果が何であるか、どのような結果が得られたかを教えてください。 –
はい、いくつかのサンプルデータを表示してください。また、サブクエリを取り出して単独で実行するとどうなりますか?唯一の違いは 'ci.item_id'が8または13であるようです。これはあなたのデータベースの 'new'または' renewal'の正しい番号ですか? – Daan
上記のクエリのサンプルデータを追加しました。 Item_id = 8はdbで新しく、13はdbで更新されます。私が2番目の製品を追加せずにシンプルな選択を引っ張っても、私が望むようにすべてのデータが出てきます。 @nishantの回答が – tumolo