我有一个名为music_lib
的表,它有一堆列和超过2000个条目。
id | track_id | total_plays | total_downloads | likes | active | etc | etc
我试图仅根据id
选择最近的50个活动条目,但我想相对于以下列的组合值(所有整数)对它们进行排序:
total_plays + total_downloads + likes
所以基本上我想要最新的50个条目按其受欢迎程度排序(受欢迎程度取决于每个条目的组合播放,下载和喜欢)。
但我不知道如何用PHP / MySQL(使用wordpress)来表达这个查询..
我知道我可以使用以下内容获得最近的50个条目,但不知道如何根据上面提到的三个列的组合数字来订购这些结果。
$getpodcasts = $wpdb->get_results( "SELECT * FROM music_lib WHERE active = 1 ORDER BY id DESC LIMIT 50");
答案 0 :(得分:1)
然后使用order by和你的计算然后如下面的id -
$getpodcasts = $wpdb->get_results( "
SELECT * FROM music_lib
WHERE active = 1
ORDER BY (track_id + total_plays + total_downloads) DESC,
id desc
LIMIT 50");
首先查找track_id + total_plays + total_downloads并相应地对它们进行排序,然后按ID排序