我有两个表,product
和download
,如下所示。
product
(product_id(pk),product_name)download
(download_date(pk),download_version(pk),product_id(pk,fk))我需要一份报告,以显示每月下载的产品数量,以及每月产品的版本。
SELECT
[product_name],
[version],
MONTH(download_date) AS [Month],
COUNT(MONTH(download_date)) AS [Count]
FROM
product
INNER JOIN
download ON product.product_id = download.product_id
GROUP BY
MONTH(download_date)
我收到此错误
列'product.product_name'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
答案 0 :(得分:1)
因此下面的查询将返回结果。
SELECT P.[product_name],
P.[version],
MONTH(D.download_date) AS [Month],
COUNT(MONTH(D.download_date)) AS [Count]
FROM product P
INNER JOIN download D ON D.product_id = P.product_id
GROUP BY P.[product_name], P.[version], MONTH(D.download_date)
答案 1 :(得分:-2)
表格和主键存在问题。
像这样创建表。 产品展示(产品(PK),姓名,优化版本) 下载(日期,PRODUCT_ID)
并运行此查询
SELECT product.name,product.version,COUNT(download.product_id)
FROM product INNER JOIN download ON product.product_id=download.download_id
Group BY(download._productid);
我认为这就是你想要的,如果不发布重播,我将在回到堆叠时回答。