php - 如何按值对 SQL 行进行排序?

标签 php mysql sql

如何按Bmeta_key选择user_ids和按评分排序meta_value?

    user_id    |    meta_key    |    meta_value
-----------------------------------------------------
       1                A                1
       1                B                1
       1                C                1
       1              rating             9
       8                A                1
       8                C                1
       8              rating           99999
       7                A                1
       7                B                1
       7                C                1
       7              rating            999

我需要获取拥有 B meta_key 的用户 ID,然后按用户评分值对 ID 进行排序。

最佳答案

试试这个:

SELECT T1.user_id
    FROM yourtable T1 
    JOIN yourtable T2
        ON T1.user_id = T2.user_id
        AND T2.meta_key = 'rating'
    WHERE T1.meta_key = 'B'
    ORDER BY CAST(T2.meta_value AS SIGNED)

关于php - 如何按值对 SQL 行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11594389/

相关文章:

php - 当我尝试测试对基于 PHP 的服务器的请求时,我应该使用 Java 或 Python 中的哪种数据结构,该服务器需要带有字符串索引的数组?

php - 条件 mySQL 语句。如果为真 UPDATE,如果为假 INSERT

php - Laravel jenssegers/laravel-mongodb ownsTo 关系抛出错误

javascript - Mysql 和 node async.waterfall

mysql - 按季度对日期范围内的记录进行计数

SQL:将备份文件从复制格式转换为插入格式

php - 检测 PHP 中字符串的字符集(UTF-8 或 Windows-1256)

php - 使用 PHP 在引导模式中动态创建图像幻灯片

sql - 插入后为当前时间戳更新创建触发器

mysql - 3 个 SQL 语句的问题