跟进我的问题: 什么是数据排名排序的正确和最有效的方法
我现在使用以下查询根据元数据中保存的分数来获得排名:
$results = $wpdb->get_results("
SET @rownum := 0;
SELECT @rownum := @rownum+1 AS rank, meta_value AS score, post_id
FROM $wpdb->postmeta
WHERE meta_key = 'my_score'
ORDER BY meta_value DESC
");
现在这会引发错误“WordPress 数据库错误您的 SQL 语法有错误;”,因为它不喜欢“SET @rownum :=0;” 以某种方式声明。删除它会使查询正常工作,但由于 rownum 未设置为 0,因此排名为空。
这里有什么问题?