[]
pl/sql count yardım
Merhaba arkadaşlar,
aşağıdaki gibi bir tablom var
refno - date - cardno
0001 19.12.2016 21:03:47 1111
0011 19.12.2016 21:03:55 1111
0025 19.12.2016 21:04:27 1111
0030 19.12.2016 21:04:27 1111
0038 19.12.2016 21:04:28 1111
0042 19.12.2016 21:04:28 1111
bu tabloya göre bu cardnosunun son bir saatte yaptığı 5. işlemini bulmaya çalışıyorum.
Aşağıdaki select her bir kayıt için çalışıyor. 5. yi bulunca bu 5. diye beni bilgilendirmesi lazım. Aşağıdaki şekilde olunca direk 6 ya geçiyor. Çünkü aynı zamanda gelen olduğu için.
Nasıl yapabilirim? Fikri olan var mı acaba?
Teşekkürler.
SELECT
NVL (COUNT (*), 0)
FROM my_table
WHERE cardno = '1111'
AND date BETWEEN TO_DATE ('19.12.2016 20:04:28',
'dd.mm.yyyy hh24:mi:ss'
)
AND TO_DATE ('19.12.2016 21:04:28',
'dd.mm.yyyy hh24:mi:ss'
)
aşağıdaki gibi bir tablom var
refno - date - cardno
0001 19.12.2016 21:03:47 1111
0011 19.12.2016 21:03:55 1111
0025 19.12.2016 21:04:27 1111
0030 19.12.2016 21:04:27 1111
0038 19.12.2016 21:04:28 1111
0042 19.12.2016 21:04:28 1111
bu tabloya göre bu cardnosunun son bir saatte yaptığı 5. işlemini bulmaya çalışıyorum.
Aşağıdaki select her bir kayıt için çalışıyor. 5. yi bulunca bu 5. diye beni bilgilendirmesi lazım. Aşağıdaki şekilde olunca direk 6 ya geçiyor. Çünkü aynı zamanda gelen olduğu için.
Nasıl yapabilirim? Fikri olan var mı acaba?
Teşekkürler.
SELECT
NVL (COUNT (*), 0)
FROM my_table
WHERE cardno = '1111'
AND date BETWEEN TO_DATE ('19.12.2016 20:04:28',
'dd.mm.yyyy hh24:mi:ss'
)
AND TO_DATE ('19.12.2016 21:04:28',
'dd.mm.yyyy hh24:mi:ss'
)
Order by refno yapın.
- creepy (05.01.17 12:35:28)
o şekilde de olmuyor.
- canbonomobenseno (05.01.17 13:49:13)
verileri istediğin gruplamaya göre sıralayıp row number vereceksin. aşağıdaki gibi bir snuc dönecek dönen sonuctan rw=5 şeklinde seçtiğinde 5. işlemi bulacaksın.
rw tip
1 a
2 a
3 a
4 a
5 a
6 a
1 b
2 b
3 b
1 c
2 c
3 c
4 c
5 c
6 c
7 c
rw tip
1 a
2 a
3 a
4 a
5 a
6 a
1 b
2 b
3 b
1 c
2 c
3 c
4 c
5 c
6 c
7 c
- prezarlatif (05.01.17 13:58:17 ~ 13:58:39)
SELECT *
FROM (SELECT *
FROM ( SELECT ROWNUM sira, date, ref_no_card_no
FROM my_table
WHERE cardno = '1111' AND date > SYSDATE - 1 / 24
ORDER BY date DESC)
WHERE ROWNUM < 6)
WHERE sira = 5
FROM (SELECT *
FROM ( SELECT ROWNUM sira, date, ref_no_card_no
FROM my_table
WHERE cardno = '1111' AND date > SYSDATE - 1 / 24
ORDER BY date DESC)
WHERE ROWNUM < 6)
WHERE sira = 5
- €xpolerer (05.01.17 15:06:31 ~ 15:10:47)
1