2

2つのクエリがありますが、

SELECT col1,col2,col3
  from scnd1
 where col2<>'' 
 group by col1,col2,col3 
 order by col1

SELECT ROWNUMBER() OVER (PARTITION BY COL1) AS RN FROM SCND1)AS A
 WHERE RN > 1

同じテーブルの場合、これら 2 つを組み合わせるには単一のクエリが必要です。NULL最初に、テーブルを並べ替えて削除し、2番目のクエリで繰り返される行を削除したいと考えています。

4

1 に答える 1

0

次の行に沿って、サブクエリを試してください。

SELECT 
    main.col1, 
    main.col2,
    main.col3 
FROM scnd1 main
JOIN (SELECT 
         col1,
         col2,
         col3, 
         ROW_NUMBER() OVER (PARTITION BY(col1) ORDER BY col1) AS RN
      FROM SCND1
      WHERE col2<>''
) sub
ON sub.Col1 = main.Col1 AND sub.Col2 = main.col2 AND sub.Col3 = main.col3
WHERE RN > 1
GROUP BY main.col1,main.col2,main.col3 
ORDER BY main.col1
于 2012-09-12T09:17:29.427 に答える