2013-08-27 42 views
0

我有一个表,如下所示:的Oracle SQL查询许多值中仅提取2值

amount  debit  credit 
------  -----  ------ 
500   500   
500     500 
550   550   
655     655 
756   756 

。 。 。 。 。现在

,问题是:我怎么能只在金额栏检索这些重复的值在屏幕上显示,而无需使用下列内容:

IN(列表) 或任何类似这样的

+1

我已经三次读过这个问题,并不明白你想要什么。你能否改写这个问题并发布期望的结果? –

+0

@RenéNyffenegger同样在这里...我仍然试图找出需要什么...... –

回答

2

你需要在此查询提供表名

select amount, count(amount) 
from table_name_here 
group by amount 
having count (amount) > 1; 
+0

感谢您的回答。 –

+0

后续问题:如果你给我的语法是作为子查询使用,那么可能...?示例:SELECT * FROM table_name_here WHERE(这里是子查询)... –

0

您可以使用此查询:

SELECT 
DISTINCT (AMOUNT) 
FROM YOUR_TABLE_NAME; 
0

的问题大致是可以理解的,这样看来,你是从下面的SQL寻找结果:

SELECT AMOUNT 
FROM TABLEX 
GROUP BY AMOUNT 
HAVING COUNT(AMOUNT) > 1; 

我试着从您的评论猜你是从SQL下面寻找结果:

SELECT 
    * 
FROM 
    TABLEX TBLX1, 
(
    SELECT 
    AMOUNT 
    FROM 
    TABLEX 
    GROUP BY 
    AMOUNT 
    HAVING COUNT(AMOUNT) > 1 
) TBLX2 
WHERE 
    TBLX1.AMOUNT = TBLX2.AMOUNT 
+0

这就是我想要的...感谢这一个...后续问题:这是可以用作子查询吗? –

+0

您可以在[sqlfiddle](http://sqlfiddle.com/#!2/c4f86/11)上看到预期结果, – Twinkle