ADDONS と DOWNLOADS という 2 つのテーブルがあるとします。
アドオンは、どのアプリにどのアドオンが無料で付属しているかを決定します。
DOWNLOADS は、すべてのアプリからのアドオンのダウンロードをログに記録します。
ADDONS
appname | varchar
appaddon | varchar
DOWNLOADS
id | int
appaddon | varchar
appname | varchar
source | varchar
date | datetime
ADDONS に無料で含まれていなかった DOWNLOADS の各 appaddon の数を表示するクエリを作成しようとしています。
私は次のようになりました: "SELECT appaddon, count(id) FROM downloads GROUP BY appaddon ORDER BY count(id) DESC"
-しかし、それは無料で含まれているアプリと含まれていないアプリを含みます。
誰かがこれについて正しい方向に私を向けることができますか?
アップデート:
例: 休日をテーマにした 2 つのアプリがあるとします。1 つはクリスマス用、もう 1 つはハロウィーン用で、各アプリではアプリに含まれているコスチュームをダウンロードできます (たとえば、ハロウィーンでは魔女、骸骨、またはジャック オー ランタンをダウンロードでき、クリスマスにはクリスマス用です)。サンタやエルフをダウンロードできます)。しかし、誰かがアプリ内からアップグレードすると、利用可能なコスチュームをダウンロードできます (したがって、クリスマスにアップグレードするとスケルトンをダウンロードしたり、ハロウィーンにアップグレードするとエルフをダウンロードしたりできます)。
アップグレードせずに含まれていないダウンロードの数を取得しようとしています。したがって、ハロウィーンでダウンロードされた魔女とクリスマスでダウンロードされたサンタを除外し、その他のアプリでダウンロードされた魔女、スケルトン、エルフなどの数を取得したいと考えています。
以下にデータの例を示します。
ADDONS
appname | appaddon
========================
halloween | jackolantern
halloween | skeleton
halloween | witch
christmas | santa
christmas | elf
christmas | reindeer
easter | bunny
allholidays | bunny
DOWNLOADS
id | appaddon | appname | date
=======================================
1 | skeleton | halloween | 2012-10-15
2 | skeleton | halloween | 2012-10-15
3 | witch | halloween | 2012-10-16
4 | santa | christmas | 2012-10-16
5 | elf | christmas | 2012-10-16
6 | witch | christmas | 2012-10-16
7 | bunny | christmas | 2012-10-16
8 | bunny | halloween | 2012-10-17
9 | bunny | easter | 2012-10-18
上記に基づいて、私は結果を期待します:
appaddon | count
=================
bunny | 2
witch | 1