Oracle sql查询查找特定记录

时间:2017-05-11 19:04:00

标签: sql oracle

我有一个表“table_1”,其中包含以下列:

table_id (PK-1) number,
table_id_2 (PK-2) varchar2(100),
table_code varchar2(15),
table_version varchar2(2)

我想找到具有多个唯一table_code(1和2,假设)值的所有table_version。这是我的尝试,但我不认为这是正确的。

SELECT table_code, table_version,COUNT(*) 
FROM table_1 
WHERE table_version IN (1,2) 
GROUP BY table_code,table_version 
HAVING COUNT(*) > 1

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:3)

你非常接近。如上所述,它主要从table_versionSELECT中取出GROUP BY

SELECT table_code, COUNT(*) 
FROM table_1 
WHERE table_version IN (1, 2) 
GROUP BY table_code
HAVING COUNT(*) > 1;

如果表格中有重复项,那么您希望COUNT(DISTINCT)代替条件:

HAVING COUNT(DISTINCT table_code) = 2