oracle pl/sqlを使用して、各行の現在のレコード数を取得できますか?例えばこの行までの同じレコードの番号
、 私はidがなしで対抗するものとして、私はクラスに入る同じ名前と年齢と学生のシーケンスを持ちたいクラスIDで構成され、テーブル、名前、年齢欄
を持っていますデータ構造を変更する。
ありがとうございました。
よろしく、
ジム
oracle pl/sqlを使用して、各行の現在のレコード数を取得できますか?例えばこの行までの同じレコードの番号
、 私はidがなしで対抗するものとして、私はクラスに入る同じ名前と年齢と学生のシーケンスを持ちたいクラスIDで構成され、テーブル、名前、年齢欄
を持っていますデータ構造を変更する。
ありがとうございました。
よろしく、
ジム
私は完全にあなたが求めているものを手に入れるわかりません。あなたは奇妙なフレーズを持っています。入力データと期待される結果の例は、常に有用です。
おそらく、このような何か:あなたは分析でこれを解決することができ
select id, name, age
from your_table
where (name, age) in
(select name. age
from your_table
group by name, age
having count(id) > 1)
order by name, age, id
/
。しかし、あなたはまだ複製されていないレコードを除外するために、外側のクエリを必要とするので、私はあなたが獲得したいのかわからないんだけど:
select * from (
select id, name, age
, count(id) over (partition by name, age) as dup_count
from your_table)
where dup_count > 1
order by name, age, id
/
私はどちらかわからないんだけど、それは私に聞こえます分析機能に関連するもの。 analyltic機能上の
SELECT empno, deptno, hiredate,
ROW_NUMBER() OVER (PARTITION BY
deptno ORDER BY hiredate
NULLS LAST) SRLNO
FROM emp
WHERE deptno IN (10, 20)
ORDER BY deptno, SRLNO;
EMPNO DEPTNO HIREDATE SRLNO
------ ------- --------- ----------
7782 10 09-JUN-81 1
7839 10 17-NOV-81 2
7934 10 23-JAN-82 3
7369 20 17-DEC-80 1
7566 20 02-APR-81 2
7902 20 03-DEC-81 3
7788 20 09-DEC-82 4
7876 20 12-JAN-83 5
詳細:分析関数を使用して計算srlno欄、見て、一例として、これを取る http://www.orafaq.com/node/55
は、あなたの代わりにSQLを使用して目標を達成することができればよりよい方法であることを覚えておいてくださいのPL/SQLの。
はい、私は分析1を探していますが、私はとにかく以上の1であることをdup_countをフィルタリングする必要があり、なぜ私はわからない、どうもありがとうございました。 – Jim