私は、次の表を持っている:SQL分析関数の無効な識別子のエラー
EMP_ID COURSE_ID COMPLETION_TIME
1 c1 11-APR-99
1 c1 15-APR-99
1 c1 17-APR-99
2 c2 14-FEB-99
2 c2 18-FEB-99
そして、私はこのクエリを使用しています:
SELECT e.emp_id,
e.course_id,
e.completion_time
FROM (SELECT emp_id,
course_id,
completion_time,
Row_number()
over(
PARTITION BY emp_id, course_id
ORDER BY completion_time DESC) AS "rn"
FROM amartya) e
WHERE rn = 1;
それは常に私に
ORA-00904を示しています、 無効な識別子。
私はエイリアシングに問題が何であるかを理解していません。助けてください。
わかりません。 SQL標準は二重引用符に関して、それを必要とするOracleは、その実際にうまく 作業私の要件は、私はROW_NUMBERを与えると考える理由がある、最新の完了時間を持っていないレコードを削除しますクエリを記述することで、正確に –
感謝を振る舞いますrow_number = 1を持たないレコードを削除する –
@AmartyaSinha。 。 。別の質問をする必要があります。 'DELETE'操作は' SELECT'とは非常に異なります。あなたを助けようと、人々から、もともとの正解に - あなたが質問を変更する場合は、downvotesになることがすでに与えられた答えを、無効にする可能性があります。 –