Database SQL:按列的唯一位置分组

Database SQL:按列的唯一位置分组,database,sql-server,Database,Sql Server,所以我有一张巨大的桌子 产品ID地址ID时间ID值1 1MTJAN100 1MTFEB100 2MTJAN100 2MTFEB100 3TTMARCH100 我只想接收地理MT中的1月和2月数据,然后在PROD_ID匹配的地方将值1相加 因此,最终结果是: 产品标识值1 1MT200 2MT200 我仅通过以下方式成功获取了实时数据: 从数据库中选择PROD_ID、GEOG_ID、TIME_ID、VALUE1,其中GEOG_ID='MT'和TIME_ID位于('JAN'、'FEB') 因此,我:

所以我有一张巨大的桌子

产品ID地址ID时间ID值1
1MTJAN100
1MTFEB100
2MTJAN100
2MTFEB100
3TTMARCH100

我只想接收地理MT中的1月和2月数据,然后在PROD_ID匹配的地方将值1相加

因此,最终结果是:

产品标识值1
1MT200
2MT200

我仅通过以下方式成功获取了实时数据:

从数据库中选择PROD_ID、GEOG_ID、TIME_ID、VALUE1,其中GEOG_ID='MT'和TIME_ID位于('JAN'、'FEB')

因此,我:

产品ID地址ID时间ID值1
1MTJAN100
1MTFEB100
2MTJAN100
2MTFEB100

但是现在我不确定如何在PROD_ID上使用groupby函数,因为TIME_ID是唯一的

有什么想法吗


非常感谢

您可以在where子句中使用TIME\u ID,而无需选择它,这意味着它不必进入group by语句

SELECT PROD_ID, GEOG_ID, SUM(VALUE1) AS TOTAL
FROM database 
WHERE GEOG_ID = 'MT' 
AND TIME_ID IN ('JAN', 'FEB')
GROUP BY PROD_ID, GEOG_ID

您可以在where子句中使用TIME_ID,而无需选择它,这意味着它不必出现在group by语句中

SELECT PROD_ID, GEOG_ID, SUM(VALUE1) AS TOTAL
FROM database 
WHERE GEOG_ID = 'MT' 
AND TIME_ID IN ('JAN', 'FEB')
GROUP BY PROD_ID, GEOG_ID

您可以在where子句中使用TIME_ID,而无需选择它,这意味着它不必出现在group by语句中

SELECT PROD_ID, GEOG_ID, SUM(VALUE1) AS TOTAL
FROM database 
WHERE GEOG_ID = 'MT' 
AND TIME_ID IN ('JAN', 'FEB')
GROUP BY PROD_ID, GEOG_ID

您可以在where子句中使用TIME_ID,而无需选择它,这意味着它不必出现在group by语句中

SELECT PROD_ID, GEOG_ID, SUM(VALUE1) AS TOTAL
FROM database 
WHERE GEOG_ID = 'MT' 
AND TIME_ID IN ('JAN', 'FEB')
GROUP BY PROD_ID, GEOG_ID

我不得不说“egads在那里是个丑陋的降价”,但它是有效的。你有一个工具来生成这样的表格吗?我只是在谷歌上搜索了一个降价,然后发现:然后就用它,因为它起作用了,哈哈,我不得不说“egads,这是一个丑陋的降价”,但它起作用了。你有一个工具来生成这样的表格吗?我只是在谷歌上搜索了一个降价,然后发现:然后就用它,因为它起作用了,哈哈,我不得不说“egads,这是一个丑陋的降价”,但它起作用了。你有一个工具来生成这样的表格吗?我只是在谷歌上搜索了一个降价,然后发现:然后就用它,因为它起作用了,哈哈,我不得不说“egads,这是一个丑陋的降价”,但它起作用了。你有这样一个工具来生成表吗?我只是在谷歌上搜索了一个降价结果:然后就用它,因为它起作用了haha@Mattgroup by子句中的PROD_ID和GEOG_ID之间缺少逗号。意外删除了注释以便参考:我已选择PROD_ID、GEOG_ID、SUM(值1)作为数据库中的总计,其中GEOG_ID='MT'和TIME_ID('JAN','FEB'))GROUP BY PROD_ID GEOG_ID如果where子句中的GEOG_ID='MT',则不需要按它分组,也不需要将GEOG_ID保留在select子句中。@Matt GROUP BY子句中的PROD_ID和GEOG_ID之间缺少一个逗号。意外删除了注释以便参考:我已选择PROD_ID,GEOG_ID,SUM(值1)作为数据库中的总计,其中GEOG_ID='MT'和TIME_ID('JAN','FEB'))GROUP BY PROD_ID GEOG_ID如果where子句中的GEOG_ID='MT',则不需要按它分组,也不需要将GEOG_ID保留在select子句中。@Matt GROUP BY子句中的PROD_ID和GEOG_ID之间缺少一个逗号。意外删除了注释以便参考:我已选择PROD_ID,GEOG_ID,SUM(值1)作为数据库中的总计,其中GEOG_ID='MT'和TIME_ID('JAN','FEB'))GROUP BY PROD_ID GEOG_ID如果where子句中的GEOG_ID='MT',则不需要按它分组,也不需要将GEOG_ID保留在select子句中。@Matt GROUP BY子句中的PROD_ID和GEOG_ID之间缺少一个逗号。意外删除了注释以便参考:我已选择PROD_ID,GEOG_ID,SUM(值1)作为数据库的总计,其中GEOG_ID='MT'和TIME_ID在('JAN','FEB')中按PROD_ID GEOG_ID进行分组。如果WHERE子句中有GEOG_ID='MT',则不需要按它进行分组,并将GEOG_ID排除在select子句之外。