0

跟进我的问题: 什么是数据排名排序的正确和最有效的方法

我现在使用以下查询根据元数据中保存的分数来获得排名:

$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,因此排名为空。

这里有什么问题?

4

0 回答 0