我的oracle数据库上有一个历史表。
我只想为特定ID选择多条记录。
Select * from user_history
表格结构:
ID History_Text
1 xxxxx
1 yyyyy
2 zzzzz
桌子上有数百万条记录。我不知道哪个ID有历史。
例如:我只想选择具有历史记录,例如ID = 1记录。
我该怎么做?
答案 0 :(得分:1)
问题不是很清楚。它要么是非常基本要么是有点复杂。
如果要选择具有id = 1的行,则使用where子句
Select * from user_history where id = 1
如果您只想选择那些有多个记录的ID
,那么请使用计数功能
select ID, History_Text from
(Select ID, History_Text,count(*) over(partition by ID) cnt from user_history) t
where cnt > 1
答案 1 :(得分:1)
这是一个简单的聚合/计数,其中包含聚合值的条件:
select id
from user_history
group by id
having count(*) > 1;
答案 2 :(得分:-1)
只需使用where子句。这样的事情: -
Select *
from user_history
having count(id) = 2;