所以我有一个巨大的表格,例如。
PROD_ID GEOG_ID TIME_ID VALUE1
1 MT JAN 100
1 MT FEB 100
2 MT JAN 100
2 MT FEB 100
3 TT MARCH 100
我想仅在地理MT中收到1月和2月的数据。然后将Value1与PROD_ID匹配的位置相加。
所以最终的结果是:
PROD_ID GEOG_ID VALUE1
1 MT 200
2 MT 200
我设法仅使用以下方法将数据降至TIME_ID:
SELECT PROD_ID,GEOG_ID,TIME_ID,VALUE1 FROM FROM WHERE GEOG_ID ='MT'和TIME_ID IN('JAN','FEB')
所以我有:
PROD_ID GEOG_ID TIME_ID VALUE1
1 MT JAN 100
1 MT FEB 100
2 MT JAN 100
2 MT FEB 100
但现在我不确定如何在PROD_ID上使用group by功能,因为TIME_ID是唯一的。
有什么想法吗?
非常感谢!
答案 0 :(得分:3)
您可以在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