【发布时间】:2022-07-07 23:46:11
【问题描述】:
我是第一次使用 SQL 查询并学习它。 我有一张这样的桌子:
| yearName | productcompanyID |
|---|---|
| 2001 | ID 1 |
| 2001 | ID 1 |
| 2001 | ID 2 |
| 2001 | ID 1 |
| 2001 | ID 1 |
| 2002 | ID 1 |
| 2002 | ID 1 |
| 2002 | ID 2 |
| 2002 | ID 2 |
| 2003 | ID 2 |
我想计算 productcompanyID 出现的次数,但一年只计算一次。 (对不起,我的英语不是我的语言,我可能不太清楚)
我的意思是,目前我已经写了这个 SQL:
SELECT DISTINCT(productcompanyid),
COUNT(productcompanyid)
FROM mydatabase
GROUP BY productcompanyid
它给我的结果是 ID 1: 6 和 ID 2: 4。
我想要的是 ID 1:2(因为它在 2001 年和 2002 年至少出现一次)和 ID 2:3(因为它在 2001 年、2002 年和 2003 年至少出现一次)
感谢您的帮助。
【问题讨论】:
-
听起来您想计算每个
productcompanyid出现的不同 年 的数量,但您要求计算productcompanyid,不是不同年份的计数。
标签: sql sql-server