简体   繁体   English

Select 每组只有最小值和最大值

[英]Select Only min and max value per group

在此处输入图像描述

How to select only 1 of min and max value of tap_time = tap_type 1(min) and 0(max) heres my unfinished query.如何 select 只有 tap_time = tap_type 1(min) 和 0(max) 的最小值和最大值中的 1 是我未完成的查询。 Hope someone can help me.希望可以有人帮帮我。

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

Rank function could help you choose first 1 by each type, change column name based on your requirement Rank function 可以帮助您选择每种类型的前 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM