| Author |
Message |
b_squared |
| Location: |
|
Post subject: Query untuk memilih max(date) dari satu tabel
Posted: 01/Jul/2010 17:48
|
|
onNovice

Joined: 28-Jun-2010
Posts: 11
Status: Offline
|
|
Saya punya tabel pada firebird 2.1 sbb:
idrecord ; iduser ; tgl_login
====================
1 ; 1 ; 1/1/2009
2 ; 1 ; 2/3/2010
3 ; 2 ; 4/5/2009
4 ; 3 ; 6/7/2009
5 ; 2 ; 8/9/2010
6 ; 3 ; 9/9/2010
bagaimana querynya untuk menghasilkan rekord dari tgl terakhir setiap user login. Hasil dari query yg saya inginkan adalah sbb:
idrecord ; iduser ; tgl_login
====================
2 ; 1 ; 2/3/2010
5 ; 2 ; 8/9/2010
6 ; 3 ; 9/9/2010
saya sudah coba dengan query berikut, tapi tidak berhasil:
code : sql SELECT idrecord, iduser, max(tgl_login) FROM mytable GROUP BY iduser
|
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: 01/Jul/2010 18:42
|
|
onMage

Joined: 06-Feb-2006
Posts: 2401
|
|
| Saya kurang ahli dlm SQL Query tapi bisa coba tambahkan: ORDER BY tgl_login DESC atau by idrecord |
_________________ Dude, if you don't understand the basics and just want to get someone else write the code for you, it means you really shouldn't study computer science. Find a different field.
http://delphiexpert.wordpress.com
|
| |
|
|
|
 |
b_squared |
| Location: |
|
Post subject:
Posted: 01/Jul/2010 18:59
|
|
onNovice

Joined: 28-Jun-2010
Posts: 11
Status: Offline
|
|
@DE: seperti di forum sebelah gan,
query diatas sudah saya coba, hasilnya seperti diatas:
Dynamic SQL Error
SQL error code = -104 |
|
|
| |
|
|
|
 |
dadanarifin |
| Location: |
|
Post subject:
Posted: 01/Jul/2010 19:49
|
|
onSkilled

Joined: 01-Jul-2010
Posts: 67
Status: Offline
|
|
coba yang ini
code : sql SELECT first 1 idrecord, iduser, tgl_login FROM mytable ORDER BY tgl_login DESC;
intinya sih klo buat aplikasi user online.. gk pake group by..
mungkin yang anda maksud... user online telah login dan dihitung berapa lama dia login..
mungkin bisa menggunakan group by.. dan tentunya masa waktu dia login dapat kita hidung..
mohon maaf jika mungkin saya salah mengartikan soal yang anda berikan.... |
_________________ Mohon di tegur kalo saya melanggar peraturan yang berlaku di situs ini.... Dan Mohon Maaf Juga,, Karena tidak ada unsur kesengajaan...
My Web
Facebook
|
| |
|
|
|
 |
delphi_warrior |
| Location: |
|
Post subject:
Posted: 02/Jul/2010 08:06
|
|
onSkilled
Joined: 14-Feb-2007
Posts: 94
Status: Offline
|
|
|
b_squared wrote:
@DE: seperti di forum sebelah gan,
query diatas sudah saya coba, hasilnya seperti diatas:
Dynamic SQL Error
SQL error code = -104
mungkin sy bisa bantu
select idrecord, iduser, max(tgl_login)
from mytable
group by iduser, idrecord
kalo pake group by field yg tdk dipakai dgn fungsi max, min, count, sum
hrs disertakan di group by nya....
dlm hal ini idrecordnya harus disertakan
moga membantu |
|
|
| |
|
|
|
 |
|
mas_kofa |
| Location: New York Arto |
|
Post subject:
Posted: 02/Jul/2010 09:09
|
|
onElite

Joined: 18-Mar-2006
Posts: 1753
Location: New York Arto
|
|
kalo seinget aku untuk struktur query di Interbase (mirip firebird)..... fungsi agrerat (max, sum, count, dll) harus ditaruh di field pertama
select max(tgl_login), idrecord, iduser, from mytable
group by iduser, idrecord
sorry jika salah |
_________________ Pay Per Day | Pesbuk
Me isn't mine
Aku Ini adalah satu
Cerdik seperti ular, Tulus seperti merpati
|
| |
|
|
|
 |
b_squared |
| Location: |
|
Post subject:
Posted: 05/Jul/2010 10:49
|
|
onNovice

Joined: 28-Jun-2010
Posts: 11
Status: Offline
|
|
Link do forum sebelah:
http://delphi-id.tk/query-untuk-memilih ... ml#pid1733
Saya coba dengan query berikut, sepertinya sesuai dengan yg saya harapkan (sharing, sekalian kalo ada query tg lebih baik, mohon masukannya)
code : sql SELECT a.idrecord, a.iduser, a.TMT_SK FROM mytable a JOIN (SELECT b.iduser, max(b.tgl_login) FROM mytable b GROUP BY b.iduser) tb(IDPEGAWAI , maxtgl_login) ON a.iduser=tb.iduser AND a.TMT_SK=tb.maxtgl_login
|
|
|
| |
|
|
|
 |
|
|