多个数据查询

时间:2015-01-15 11:35:38

标签: sql oracle

我的oracle数据库上有一个历史表。

我只想为特定ID选择多条记录。

Select * from user_history

表格结构:

ID History_Text
1  xxxxx
1  yyyyy
2  zzzzz  

桌子上有数百万条记录。我不知道哪个ID有历史。

例如:我只想选择具有历史记录,例如ID = 1记录。

我该怎么做?

3 个答案:

答案 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;