我的数据库有一个项目成本表。项目可以有多个成本记录。
我想只抓取有多个成本记录的项目。
UPC字段为F01,表格称为COST_TAB。我只想根据F01字段获取有多个条目的项目。
我正在努力学习如何编写此查询。
答案 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;