如何仅选择 tap_time = tap_type 1(min) 和 0(max) 的最小值和最大值中的 1 个,这是我未完成的查询!希望有人能帮助我。
use RFIDEmployee_DB
select *
from (
select FK_student_ID, Tap_Type, FK_Terminal_ID, Student_No, Last_Name, First_Name, Middle_Name, Tap_Time
from tbGateEntry
inner join tbStudentInfo on tbGateEntry.FK_student_ID = tbStudentInfo.ID
) t
order by Last_Name , Tap_Time
答案 0 :(得分:0)
Rank 函数可以帮助您选择每种类型的前 1 个,根据您的要求更改列名
use RFIDEmployee_DB
select *
from (
select FK_student_ID, Tap_Type, FK_Terminal_ID, Student_No, Last_Name, First_Name, Middle_Name, Tap_Time, ROW_NUMBER() OVER (PARTITION BY Tap_Type ORDER BY Tap_Time) R
from tbGateEntry
inner join tbStudentInfo on tbGateEntry.FK_student_ID = tbStudentInfo.ID
) t
where R = 1
order by Last_Name , Tap_Time