假设我有两个表 - ADDONS 和 DOWNLOADS。
ADDONS 规定哪些应用程序免费提供哪些插件。
DOWNLOADS 记录所有应用程序的插件下载,包括免费和非免费。
ADDONS
appname | varchar
appaddon | varchar
DOWNLOADS
id | int
appaddon | varchar
appname | varchar
source | varchar
date | datetime
我正在尝试编写一个查询,显示 DOWNLOADS 中每个 appaddon 的计数,其中它未免费包含在 ADDONS 中。
我得到了: "SELECT appaddon, count(id) FROM downloads GROUP BY appaddon ORDER BY count(id) DESC"
- 但这包括免费包含它的应用程序和不包含它的应用程序。
谁能指出我正确的方向?
更新:
示例:假设我有两个假日主题应用程序 - 一个用于圣诞节,一个用于万圣节,每个应用程序都允许您下载应用程序中包含的服装(例如,万圣节允许您下载女巫、骷髅或南瓜灯笼,以及圣诞节让您下载圣诞老人或精灵)。但是如果有人从应用程序内升级,他们可以下载任何可用的服装(所以圣诞节升级可以下载骷髅,或者万圣节升级可以下载精灵)。
我正在尝试计算未升级的不包括在内的下载量。所以我想排除万圣节下载的女巫和圣诞节下载的圣诞老人,但要计算其他应用程序下载的女巫、骷髅、精灵等。
以下是一些示例数据:
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