我正在使用谷歌jsapi
绘制面积图,所以我必须得到两个不同的平均值。
第一个是针对特定人的,第二个是针对除该人之外的整个公司的。
我正在使用此查询从指定的人那里获取过去 26 周。
SELECT TOP 26 DATE_GIVEN
FROM CHECKS
WHERE PERSON_NO='001'
ORDER BY DATE_GIVEN DESC
但我需要修改它以获得最后 26 周,即使该人跳过一周,并且对于缺少的周数填写 0 并将其包含在平均值中。
但是第二个超级难,我不知道该怎么做。这是我想做的事情:
- 选择表中的所有检查,期望 person_no=001
- 每周将他们全部分组
- 仅选择最近 26 个检查周
- 如果一个人缺少一周,则填写值 0 并将其包含在平均值中。
我尝试过这样的事情,但它是错误的:
SELECT TOP 26 AVG(CHECK_AMOUNT) AS W2
FROM CHECKS
WHERE NOT PERSON_NO='001'
GROUP BY Datepart(week,DATE_GIVEN)
ORDER BY DATE_GIVEN DESC
为了更清楚一点:
我试图获得一个人的每周平均值与不包括该人的公司其他人的平均值。表名CHECKS
与 columns CHECK_NO, DATE_GIVEN, AMOUNT, PERSON_NO
。
我也尝试过这样的事情,但我不知道这是否正确:
SELECT TOP 26 AVG(CHECK_AMOUNT) AS W1
FROM CHECKS
WHERE PERSON_NO='001'
GROUP BY Datepart(week, DATE_GIVEN)
SELECT TOP 26 AVG(CHECK_AMOUNT) AS W2
FROM CHECKS
WHERE NOT PERSON_NO='001'
GROUP BY Datepart(week, DATE_GIVEN)