如何选择该记录有多个条目的行?

时间:2015-11-02 20:34:24

标签: sql sql-server sql-server-2008

我的数据库有一个项目成本表。项目可以有多个成本记录。

我想只抓取有多个成本记录的项目。

UPC字段为F01,表格称为COST_TAB。我只想根据F01字段获取有多个条目的项目。

我正在努力学习如何编写此查询。

4 个答案:

答案 0 :(得分:6)

select F01
from COST_TAB
group by F01
having count(*) > 1

答案 1 :(得分:2)

您需要使用分组

select f01
from cost_tab
group by f01
having count(f01) > 1

答案 2 :(得分:0)

select * from COST_TAB
Where COST_TAB.UPC in (select COST_TAB.UPC from COST_TAB group by COST_TAB.UPC having (Count(COST_TAB.UPC) >1) and COST_TAB.UPC = 'F01'

答案 3 :(得分:0)

据推测,您希望重复行中的所有字段(否则,简单的聚合查询会获得F01值)。我会使用窗口函数:

select ct.*
from (select ct.*, count(*) over (partition by f01) as cnt
      from cost_tab ct
     ) ct
where cnt > 1;