SQL Server:从一个查询中获取多个最小/最大值

时间:2018-05-10 17:49:30

标签: sql sql-server max min

我在SQL Server中有类似以下的数据。我想查询单个表中的类别,StartDate的最小值和EndDate的最大值。希望以下模拟数据有助于解释 - 谢谢

DATA:

  Category  StartDate   EndDate
  -------------------------------
       A    1/1/2018    1/11/2018
       A    1/3/2018    1/13/2018
       B    1/1/2018    1/11/2018
       B    1/9/2018    1/19/2018
       A    1/5/2018    1/15/2018
       C    1/4/2018    1/14/2018
       A    1/1/2018    1/11/2018
       C    1/7/2018    1/17/2018

查询的理想结果:

  Category  StartDate   EndDate
  --------------------------------
       A    1/1/2018    1/15/2018
       B    1/1/2018    1/19/2018
       C    1/4/2018    1/17/2018

2 个答案:

答案 0 :(得分:4)

GROUP BYMIN()&有什么问题? MAX()

select Category, min(startdate) startdate, max(enddate) enddate
from table t
group by Category;

答案 1 :(得分:3)

使用分组

select category, min(startDate), max(endDate)
from my_table  
group by category