dapatkan peringkat pengguna di tabel skor
<p>saya memiliki tabel mysql yang sangat sederhana tempat saya menyimpan skor tinggi. itu terlihat seperti itu:</p><pre><code>id name score </code></pre><p>sejauh ini bagus. pertanyaannya adalah: bagaimana cara saya mendapatkan peringkat pengguna? sebagai contoh, saya memiliki pengguna <code>name</code> atau <code>id</code> dan ingin mendapatkan peringkatnya, di mana semua baris diperintahkan turun untuk <code>score</code>.</p><p>sebuah contoh</p><pre><code>id name score 1 ida 100 2 boo 58 3 lala 88 4 bash 102 5 assem 99 </code></pre><p>dalam hal ini, peringkat <code>assem</code> akan menjadi 3, karena ia mendapat skor tertinggi ke-3.</p><p>kueri harus mengembalikan satu baris, yang berisi (hanya) peringkat yang diperlukan.</p>
<pre><code>select id, name, score, find\_in\_set( score, ( select group\_concat( score order by score desc ) from scores ) ) as rank from scores </code></pre><p>berikan daftar ini:</p><pre><code>id name score rank 1 ida 100 2 2 boo 58 5 3 lala 88 4 4 bash 102 1 5 assem 99 3 </code></pre><p>mendapatkan skor satu orang:</p><pre><code>select id, name, score, find\_in\_set( score, ( select group\_concat( score order by score desc ) from scores ) ) as rank from scores where name = 'assem' </code></pre><p>memberikan hasil ini:</p><pre><code>id name score rank 5 assem 99 3 </code></pre><p>anda akan memiliki satu pemindaian untuk mendapatkan daftar skor, dan pemindaian lainnya atau berusaha melakukan sesuatu yang bermanfaat dengannya. indeks pada kolom <code>score</code> akan membantu kinerja pada tabel besar.</p>
<p>anda bisa mengurutkan kolom ke dalam format menurun dan kemudian hanya mendapatkan nilai dari baris ke-n.</p><p>edit ::</p><p>diperbarui sesuai permintaan komentar.<strong> <em>peringatan</em> </strong>benar-benar belum diuji!</p><pre><code>select dob from (select dob from users order by dob desc) where rowid = 6 </code></pre><p>sesuatu seperti di atas seharusnya bekerja untuk oracle ... anda mungkin harus mendapatkan sintaksnya terlebih dahulu!</p> bintang itu fungsinya untuk menerangi pertanyaan mu :d
semakin banyak bintang maka semakin banyak pula yang dapat melihat pertanyaanmu, atau bisa dibilang untuk menyebarkan sebuah pertanyaan ke penjuru y!a :d

seorang user yang mempunyai kontak pemberi bintang akan mengetahui bahwa kontaknya tersebut telah memberikan bintang kepada suatu pertanyaan (contoh : diberi bintang oleh @user) sehingga ia tidak perlu lagi mencari pertanyaan di halaman room satu persatu..
maka secara tidak langsung bintang tersebut telah menjadi alat promosi untuk pertanyaanmu (si penerima bintang)..

kalau bintangnya banyak juga bisa masuk di halaman pertama pertanyaan terpopuler, jadi makin banyak deh yang bisa liat pertanyaan kita :d 

jadi intinya bintang itu untuk merekomendasikan sebuah pertanyaan hehee
gitu aja..

terimakasih ^\_^ <p>saya rasa saya menemukannya. sepertinya ada satu langkah tambahan.</p><pre><code>global $user; $user\_full = user\_load($user-&gt;uid); // user\_load(uid) returns the complete array var\_dump($user\_full); </code></pre><p>saya sekarang memiliki akses ke bidang profil khusus saya melalui $ user\_full</p> buatlah tabel dua kolom yang terdiri dari nilai dan frekuensi atau banyaknya siswa, oleh karena terdapat 6 nilai yang beragam maka tabel terdiri dari 6 baris. dengan demikian tabel frekuensi dari data tersebut adalah <p>katakanlah anda memiliki tabel tempat anda menyimpan kata sandi untuk setiap orang.</p><p>untuk "menyimpan" kata sandi yang dihasilkan, lakukan hal berikut</p><ol> <li>dapatkan login dari pengguna</li> <li>dapatkan kata sandi</li> <li>menghasilkan garam dari nilai acak. katakanlah, dari/dev/random (seperti yang disarankan @michal), anda mendapat "a12bc34de56fg"</li> <li>gunakan beberapa fungsi hashing untuk menghasilkan kata sandi hash. katakanlah kata sandi asli adalah "1 kata sandi" dan anda akan menggunakan hashing sha. anda akan melakukannya</li> </ol><p>hashed\_password = sha (sha (sha (.... sha ("1passworda12bc34de56fg")))))))))))</p><p>simpan kata sandi, dengan login dan garam, di tabel.</p><pre><code>login password salt  john a7b82783... a12bc34de56fg </code></pre><p>dan kemudian, untuk memverifikasi ketika pengguna mengakses aplikasi anda:</p><ol> <li>dapatkan login dan kata sandi</li> <li>ambil garam untuk login dari database (anda akan mendapatkan garam: a12bc34de56fg)</li> <li>gabungkan kata sandi teks biasa dengan garam dan lakukan semua hashing lagi:</li> </ol><p>hashed\_password = sha (sha (sha (.... sha ("1passworda12bc34de56fg")))))))))))</p><p>verifikasi apakah hashed\_password yang anda hitung sama dengan yang disimpan dalam database. anda akan tahu apakah kata sandi itu benar atau tidak.</p><p>itu dia!. anda bisa mendapatkan garam dari sumber acak yang anda suka. kenapa harus acak? karena garam non-acak akan membuatnya lebih mudah untuk mencoba memaksa aplikasi anda.</p> mengurutkan pecahan bisa menggunakan cara menyamakan penyebutnya.



dicari terlebih dahulu kelipatan persekutuan terkecil atau kpk dari 2, 3, 4, 8. diperoleh kpk nya adalah 24.

kemudian ubahlah setiap pecahan sehingga memiliki penyebut yang sama. ingat, jika mengalikan angka atas dan bawah pecahan dengan bilangan yang sama, nilai pecahan akan tetap sama. gunakan teknik ini pada setiap pecahan satu per satu sehingga setiap pecahan memiliki penyebut yang sama. 











diperoleh urutan dari yang terkecil .

dengan demikian urutan pecahan mulai dari yang terkecil adalah . <p>shmuel613, akan lebih baik untuk memperbarui pertanyaan awal anda daripada menjawab. lebih baik jika ada satu tempat yang berisi pertanyaan lengkap daripada menyebar dalam diskusi.</p><p>jawaban ben masuk akal, kecuali ia tampaknya memiliki 'tidak' di mana ia tidak menginginkannya. menjatuhkan tabel hanya jika<strong> tidak </strong>ada tidak tepat.</p><p>anda memang membutuhkan banyak pernyataan. buat dengan kondisional lalu isi:</p><ol> <li>buat tabel sementara jika tidak ada fubar (id int, name varchar (80))</li> <li>truncate table fubar</li> <li>masukkan ke dalam fubar pilih * dari barfu</li> </ol><p>atau cukup jatuhkan dan buat ulang</p><ol> <li>drop tabel jika ada fubar</li> <li>buat tabel sementara id select fubar, nama dari barfu</li> </ol><p>dengan sql murni itu adalah dua kelas solusi nyata anda. saya suka yang kedua lebih baik.</p><p>(dengan prosedur tersimpan anda bisa menguranginya menjadi satu pernyataan. sesuatu seperti: truncateandpopulate (fubar) tetapi pada saat anda menulis kode untuk truncateandpopulate () anda akan menghabiskan lebih banyak waktu daripada hanya menggunakan sql di atas.)</p> masukan angka 20 sampai 100 secara berurutan pada sel a1 sampai a81 dan menuliskan formula suku ke-1 (=100-2*a1*a1) pada sel b1. untuk menuliskan formula suku ke-2 sampai suku ke-81 cukup dengan meng-copy formula suku ke-1 ke bawah sampai sel b81.

 

untuk menghitung jumlah deret, pada sel b82 ketik formula =sum(b1:b81) tekan enter. setelah itu, akan muncul angka . <p>karakter unicode 4 byte belum banyak digunakan, jadi tidak semua aplikasi di luar sana mendukung sepenuhnya. mysql 5.5 berfungsi dengan baik dengan karakter 4 byte ketika dikonfigurasi dengan benar - periksa apakah komponen anda yang lain dapat bekerja dengannya juga.</p><p>berikut beberapa hal lain yang perlu diperiksa:</p><ul> <li> <p>pastikan semua rangkaian karakter default tabel dan bidang teks anda dikonversi ke utf8mb4, di samping menetapkan set karakter klien &amp; server, mis. <code>alter table mytable charset=utf8mb4, modify column textfield1 varchar(255) character set utf8mb4,modify column textfield2 varchar(255) character set utf8mb4;</code> dan seterusnya.</p> <p>jika data anda sudah dalam karakter utf8, itu harus dikonversi ke utf8mb4 di tempat tanpa masalah. seperti biasa, buat cadangan data anda sebelum mencoba!</p> </li> <li> <p>pastikan juga lapisan aplikasi anda menyetel karakter koneksi basis data ke utf8mb4. periksa ini benar-benar terjadi - jika anda menjalankan versi yang lebih lama dari pustaka klien mysql framework yang anda pilih, itu mungkin belum dikompilasi dengan dukungan utf8mb4 dan itu tidak akan mengatur charset dengan benar. jika tidak, anda mungkin harus memperbarui atau mengompilasinya sendiri.</p> </li> <li> <p>saat melihat data anda melalui klien mysql, pastikan anda menggunakan mesin yang dapat menampilkan emoji, dan jalankan <code>set names utf8mb4</code> sebelum menjalankan kueri.</p> </li> </ul><p>setelah setiap tingkat aplikasi anda dapat mendukung karakter baru, anda harus dapat menggunakannya tanpa korupsi.</p> <p>anda bisa mengatur variabel <a href="http://en.wikipedia.org/wiki/internal\_field\_separator">bidang pemisah internal</a> (ifs) variabel, dan kemudian membiarkannya mengurai menjadi array. ketika ini terjadi dalam suatu perintah, maka penugasan ke <code>ifs</code> hanya terjadi pada lingkungan perintah tunggal itu (ke <code>read</code>). ini kemudian mem-parsing input sesuai dengan nilai variabel <code>ifs</code> ke dalam array, yang kemudian dapat kita iterate.</p><pre><code>ifs=';' read -ra addr &lt;&lt;&lt; "$in" for i in "${addr[@]}"; do # process "$i" done </code></pre><p>ini akan mengurai satu baris item yang dipisahkan oleh <code>;</code>, mendorongnya ke dalam array. hal-hal untuk memproses seluruh <code>$in</code>, setiap kali satu baris input dipisahkan oleh <code>;</code>:</p><pre><code> while ifs=';' read -ra addr; do for i in "${addr[@]}"; do # process "$i" done done &lt;&lt;&lt; "$in" </code></pre>