問題があります。理由を知らない。行番号のパーティションが機能しません。
select ROW_NUMBER() OVER (PARTITION BY a.rmid, c.nama ORDER BY a.tanggalrekam) rn,
a.rmid, a.psid, c.nama, a.tanggalrekam
from _tRekamMedis a
inner join _tRekamMedisTindakan b on a.rmid= b.rmid
inner join _tPasien c on a.psid = c.psid
inner join _tSecurityUser d on b.dokterid = d.securityuserid
inner join _tTindakan e on b.tindakanid = e.tindakanid
結果は:
rn rmid psid nama tanggalrekam dokterid
1 1 1 Fauzan 2017-06-20 -2147483648
2 1 1 Fauzan 2017-06-20 -2147483648
3 1 1 Fauzan 2017-06-20 -2147483648
1 2 2 Huri 2017-06-20 -2147483648
それは次のようになります。rownumber
は動作しません
rn rmid psid nama tanggalrekam dokterid
1 1 1 Fauzan 2017-06-20 -2147483648
1 1 1 Fauzan 2017-06-20 -2147483648
1 1 1 Fauzan 2017-06-20 -2147483648
2 2 2 Huri 2017-06-20 -2147483648
。それはrn
フィールドに表示されます。誰でも助けることができますか?
はa.rmid BY(PARTITION OVERランク() 'この'選択ランクのような() 'でそれを試してみてください、c.nama ORDER BY a.tanggalrekam)rn、 a.rmid、a.psid、c.nama、a.tanggalrekam ..... ' –
これは動作します、これは' row_number'の動作です:レコードを列挙します同じパーティション内にあります。ここには 'rmid、nama'の2つのパーティションがあります。最初のレコードには3つのレコードが含まれているため、 'rn = 1,2,3 'です。 –
必要に応じて、row_number、dense_rank、rank関数を使用できます。彼らはほとんど似ていますが、独特の違いがあります。おそらくそれはあなたが見直したいかもしれないものです。 – PrinceKayastha