Sql 仅计算与多个条件匹配的最新条目
我有一个与此类似的数据库表,但还有更多条目:Sql 仅计算与多个条件匹配的最新条目,sql,azure-sql-database,Sql,Azure Sql Database,我有一个与此类似的数据库表,但还有更多条目: PupilId | PeriodId | Assessment ------------------------------- 1 | 10 | 7 1 | 30 | 7 1 | 50 | 7 2 | 20 | 7 3 | 10 | 7 3 | 20 | 8 我想找出学生的数量,即在某个时间点得到给定评估的
PupilId | PeriodId | Assessment
-------------------------------
1 | 10 | 7
1 | 30 | 7
1 | 50 | 7
2 | 20 | 7
3 | 10 | 7
3 | 20 | 8
我想找出学生的数量,即在某个时间点得到给定评估的不同学童的数量,包括给定的周期ID。只能使用给定周期ID之前或上的最新评估
例如:
在周期ID 100或之前获得7分的学生人数=2分1和2分
在第10期或之前获得7分的学生人数=第1期和第3期的学生人数
在周期ID 30或之前获得8分的学生人数=1分3秒
这是针对SQLAzure的
非常感谢。好的,没有答案,下面是我从另一个来源获得帮助后得出的结论:
SELECT COUNT(1)
FROM (
SELECT PupilId AS pupil_id, Max(PeriodId) AS max_period
FROM steph1
WHERE PeriodId <= 100
GROUP BY PupilId
) steph2, steph1
WHERE
PupilId=pupil_id AND
max_period = PeriodId AND
Assessment = 7
希望这能帮助其他人解决同样的问题