anw*_*rma 41 sql oracle subquery
我正在编写此查询以查找table1中的重复CTN记录.所以我的想法是,如果CTN_NO出现超过两次或更高,我希望它在我的SELECT*语句输出中显示在顶部.
我尝试了以下子查询逻辑,但我需要拉动
SELECT *
table1
WHERE S_IND='Y'
and CTN_NO = (select CTN_NO
from table1
where S_IND='Y'
and count(CTN_NO) < 2);
order by 2
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 103
使用:
SELECT t.ctn_no
FROM YOUR_TABLE t
GROUP BY t.ctn_no
HAVING COUNT(t.ctn_no) > 1
Run Code Online (Sandbox Code Playgroud)
...将显示ctn_no表格中有重复的值.向WHERE添加条件将允许您进一步调整存在的重复项:
SELECT t.ctn_no
FROM YOUR_TABLE t
WHERE t.s_ind = 'Y'
GROUP BY t.ctn_no
HAVING COUNT(t.ctn_no) > 1
Run Code Online (Sandbox Code Playgroud)
如果要查看与副本关联的其他列值,您将需要使用自联接:
SELECT x.*
FROM YOUR_TABLE x
JOIN (SELECT t.ctn_no
FROM YOUR_TABLE t
GROUP BY t.ctn_no
HAVING COUNT(t.ctn_no) > 1) y ON y.ctn_no = x.ctn_no
Run Code Online (Sandbox Code Playgroud)