SQL自定义分组和选择查询

时间:2012-01-26 20:09:30

标签: sql sql-server-2008 tsql join

我最近在这里问过这个问题并得到了一些很好的答案! Custom SQL GROUP BY Clause

然而,事实证明我对我的问题提出了错误的要求。对不起伙计们!

SOOOOO。我需要选择的是:

列'PartNumbers'中的值不同,但是:

- >对于每个唯一的PartNumber,我想从该表中选择具有该特定部件号的'PO'列的MAX VALUE的特定ROW。

- >另外,为了让生活变得更加困难,我想排除任何在“收据”列中具有任何值的PartNumbers

你们这是一个很好的帮助!非常感谢所有人!

编辑:

表名:日志

列:ID,供应商,PartNumber,PO,数量,DateReceived

注意:只有ID列是唯一的。

1 个答案:

答案 0 :(得分:1)

使用CTE:

with TableWithRowNumber as
    (select 
        *,
        row_number() over (partition by PartNumber order by PO desc) as RowNo
    from MyTable)   
select * from TableWithRowNumber 
where RowNo = 1
and PartNumber not in 
    (select distinct PartNumber from MyTable where Receipt is not null)