在select查询中使用if条件进行选择查询

时间:2016-02-10 07:02:11

标签: mysql mysqli

这是我的查询

SELECT username, userlevel, mobile,
    IF((SELECT count(*) FROM active_users  WHERE username=a.username) AS COU > 0 ), 10, 0)
    AS status
FROM users a

如果计数大于0,我想返回10,否则我想返回0。这可能吗 。 在这我想要返回4列用户名,用户级别,移动,状态,我正在将状态作为参数来分类用户。如果这个值在这里被分类,它将减少php中的条件语句。所以我试图在这里整理

1 个答案:

答案 0 :(得分:1)

您可以尝试使用CASE WHEN表达式:

SELECT a.username, a.userlevel, a.mobile,
    CASE WHEN (SELECT COUNT(*) FROM active_users WHERE username = a.username) > 0
        THEN 10
        ELSE 0
    END AS status
FROM users a