在T-SQL中分组

时间:2013-12-27 03:50:26

标签: sql sql-server tsql group-by

请告诉我如何在SQL中进行这种特殊的分组 从这张表

id  FromDate    ToDate          UPC         price   IsGroupSpecial  
3   2013-12-27  2013-12-30  6400000087492   315.00  1           
2   2013-12-27  2013-12-31  6400000087492   405.00  0

需要以最低价格选择所有,但id不一定是最小值 - 应该从IsGroupSpecial = 0的那一行获取id

2 个答案:

答案 0 :(得分:1)

我认为这种类型的查询是您正在寻找的。如果您只是寻找最低价格而不是group by子句的所有记录,则无需支持。

select *
from table
where price = (select min(price) from table))

答案 1 :(得分:0)

如果我理解正确

select UPC, min(price), x.id
from table t1
cross apply (select id from table t2 where t2.IsGroupSpecial =0 and t1.UPC=t2.UPC) X 
group by UPC, x.id