Urutkan baris berdasarkan hasil algoritma di luar kueri db

Saya mencoba mengurutkan hasil kueri db berdasarkan algoritma di luar pernyataan sql.

Misalnya - setiap baris memiliki kolom author_karma dan pageviews. Saya ingin mengurutkan hasilnya dengan algoritma yang dihitung dalam php setelah baris diambil...

Algoritmenya mungkin terlihat seperti ini

$score = intval($author_karma) + (intval($pageviews)/100) + intval($age)

Di situs seperti berita peretas, apakah ini dihitung dalam kueri sql? Bagaimana mereka membuat ini berhasil? Jika saya mencoba menyimpan skor di db, seberapa sering saya memperbaruinya (terutama bila menyangkut waktu dalam skor)?


person Andrew Samuelsen    schedule 15.12.2011    source sumber
comment
Anda dapat memesan berdasarkan fungsi di hampir semua database. Jadi, Anda cukup menggunakan fungsi itu di klausa ORDER BY Anda.   -  person Brian Hoover    schedule 15.12.2011
comment
Pasti akan membantu jika Anda dapat memposting beberapa kode yang relevan... Karena dimungkinkan untuk mengurutkannya di MySQL daripada harus berinteraksi dengan PHP setelahnya..   -  person Nonym    schedule 15.12.2011
comment
@BrianHoover Untuk algoritma yang cukup sederhana seperti di atas, apakah lebih baik melakukannya di order by atau menyimpan skor di db?   -  person Andrew Samuelsen    schedule 15.12.2011
comment
@AndyPandy - Saya mungkin akan melakukannya secara berurutan, hanya karena semua nilai tersebut akan berubah secara teratur   -  person Brian Hoover    schedule 15.12.2011


Jawaban (1)


Anda dapat dengan mudah melakukannya di kueri

select this, that, other, (author_karmar + ( pageviews/100 ) + age ) as score from table order by score desc
person Galen    schedule 15.12.2011