subject_ID Date Test_id value
------- --------- ----- -----
1 1/1/2000 A 50
1 1/1/2000 B 10
1 1/2/2000 A 55
1 1/2/2000 B 09
2 1/1/2000 A 51
2 1/1/2000 B 13
2 1/2/2000 A 48
2 1/2/2000 B 08
大家好,
我对上面的情况有疑问。如您所见,我每天都会为每个科目提供测试结果。我正试图找到一种方法来在规定的时间内为每个测试选择最低值,因此最终表格将是这样的
subject_ID Date Test_id value
------- --------- ----- -----
1 1/1/2000 A 50
1 1/2/2000 B 09
2 1/2/2000 A 48
2 1/2/2000 B 08
答案 0 :(得分:0)
ANSI标准SQL支持row_number()
函数。使用此功能,您可以执行以下操作:
select t.*
from (select t.*,
row_number() over (partition by subject_id, test_id order by value asc) as seqnum
from t
) t
where seqnum = 1;
答案 1 :(得分:0)
我不确定您使用的是哪种技术,但假设使用GROUP BY的SQL可以使用。
SELECT subject_ID
, Date
, Test_id
, MIN(value)
FROM YourTable
GROUP BY subject_ID
, Date
, Test_id