Arsip: Script Sql Simpel tapi susah
more 15 years ago
Penjahat
Halo... begini teman-teman, aku punya problem dengan sql yang sebelumnya nggak pernah aku alamin.
aku pake Delphi 7 dengan MySql, koneksi menggunakan MyDac
aku punya tabel kayak gini :
guid A B
----------------------
1 surabaya 2
2 semarang 2
3 malang 2
4 balikpapan 3
5 samarinda 3
6 sulawesi 4
7 makasar 4
output yang diinginkan adalah
guid A B
----------------------
3 malang 2
5 samarinda 3
7 makasar 4
yaitu guid terakhir dalam tiap group B
jika kita gunakan simpel "group by B" maka outputnya adalah
guid A B
1 surabaya 2
4 balikpapam 3
6 sulawesi 4
tidak sesuai yang diinginkan
mohon teman-teman, atas bantuannya sangat aku hormati
more 15 years ago
cyber_hecker
[sql]SELECT DARI TEST
WHERE GUID IN (SELECT MAX(GUID) ID
DARI TEST
GROUP BY B)[/sql]
ganti kata DARI menjadi
karena aneh nih delphi-id sekarang. setiap nulis kata * hasilnya jadi :
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@delphi-id.org and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.7a mod_bwlimited/1.4 PHP/5.2.9 Server at delphi-id.org Port 80
more 15 years ago
Penjahat
maksud mas cyber_hecker gini ya
[sql]SELECT * F R O M tbname
WHERE guid IN(SELECT MAX(guid) F R O M tbname GROUP BY B)[/sql]
yupz sepertinya sangat membantu, terimakasih banget.
tapi saya ada masalah baru, kalo kita pake cara di atas dengan ratusan ribu record kayaknya prosesnya akan cukup lambat, tapi saya belum buktiin.
karena mungkin menurut saya kalo nggak salah, dengan metode DEPENDENT SUBQUERY, di dalam IN() ada fungsi SELECT F R O M tbname, maka server akan melakukan full scanning terhadap 2 table, dalam hal ini 2 t a b l e yang sama, yaitu "tbname".
Dengan kata lain t a b e l tbname akan di-scan 2 kali. mohon maaf dan koreksinya kalo saya salah...
kalo itu benar, kira-kira menurut mas cyber_hecker ada cara lain nggak, (sekedar pingin tau aja)
mungkin dengan manipulasi index atau susunan record.
Seperti kita tau SELECT dengan GROUP BY akan menghasilkan record pertama dalam setiap group. nah... mungkin kita bisa membalik susunan recordnya atau mungkin mas punya ide....
thanks banget ya mas, reply mas udah sangat membantu, ini hanya sekedar pingin tau aja.
oh ya.... ternyata delphi-id sentimen ama kata kata
1. F R O M (tanpa spasi)
2. T A B L E (tanpa spasi)
3. ....
more 15 years ago
_lmz
Kenapa menebak cara server jalankan sel ectnya kalau bisa dibuktikan?
http://dev.mysql.com/doc/refman/5.0/en/explain.html
Seperti kita tau SEL ECT dengan GR OUP B Y akan menghasilkan record pertama dalam setiap groupItu spesifik MySQL. Secara umum, semua kolom hasil SEL ECT dengan GRO UP BY harus merupakan aggregate atau termasuk dalam daftar GR OUP BY. Hasil yang dihasilkan MySQL pun belum tentu yang pertama:
Do not use this feature if the columns you omit from the GRO UP BY part are not constant in the group. The server is free to return any value from the group, so the results are indeterminate unless all values are the same.Tentang ind ex siapa tahu in dex pada kolom (B ASC, guid DE SC) dapat menolong. Tapi tentu saja harus dibuktikan sendiri dengan jumlah data yang realistis. BTW: "proteksi" sql injection ini sangat menjengkelkan untuk tempat yang memang mendiskusikan SQL.
more 15 years ago
Penjahat
OK... thankyou _lmz
its very meaningful to me.....i appreciate that.
thankyou...
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Embedding the Project in the Executable
by paidi in Tip n Trik Pemrograman more 14 years ago - tanya query di delphi
by budi_sleman in Hal umum tentang Pascal Indonesia more 14 years ago - programq kok gak jalan di komputer laen??
by shovachevic in Hal umum tentang Pascal Indonesia more 15 years ago - Sintaq SQL Sum dari Sum?
by adit4it in Paradox more 17 years ago - play mediaplayer dari sebuah tabel
by e_soep in Multimedia & Graphic Enhancement more 15 years ago - webcam bisa dipakai di jaringan (network)
by RedsGrands in Multimedia & Graphic Enhancement more 17 years ago - Nyetak dlm 2 hal pake quick report
by joseph_47ers in Reporting more 16 years ago - Akses webcam lewat jaringan line telepon...bisa gak??
by dwiest in Network, Files, I/O & System more 15 years ago - menampilkan Image extensi jpg pada DBImage
by lela in MySQL more 18 years ago - Pls Mohon Bantuan, Data Tidak Tersimpan Karena ROLLBACK
by hendrang in Hal umum tentang Pascal Indonesia more 17 years ago