SQL Query在有多个条目时选择一个集合

时间:2017-11-23 20:52:58

标签: sql-server

去年我问了这个问题(SQL Query to select one set when there are duplicates)并得到了计算SLA的解决方案。基本上,计算每个应用程序的最小SLA数。但是,我有一个后续问题。我想要一个查询,它将返回每个REF_ID(或APP_ID)的最小SLA和最早日期的行

 
ID |  REF_ID  | APP_ID  | FIRST_DATE | SECOND_DTE  |  SLA  |  
1  | 11       | 101     | 2016/10/01 | 2016/10/02  |  1    |
2  | 12       | 102     | 2016/10/01 | 2016/10/04  |  2    |
3  | 12       | 102     | 2016/10/01 | 2016/10/05  |  2    |

因此查询应该返回第一行和第二行 如果有人能提供解决方案,我将非常感激。

我已根据User726720答案更新了查询。这不会返回整行,但会返回足够的数据。

SELECT REF_ID,MIN(SECOND_DTE),MIN(SLA)FROM TABLE WHERE FIRST_DTE> ' 2016年10月1日'和FIRST_DTE< ' 2016年11月1日' GROUP BY REF_ID

1 个答案:

答案 0 :(得分:0)

这应该做的工作:

    Select * from table 
    WHERE SLA =  ( SELECT MIN(SLA) FROM table) 
    and SECOND_DTE = ( SELECT MIN(SECOND_DTE ) FROM table)