【问题标题】:Get the total number of rows pertaining to particular id, and also get the presence of particular value in a column - MySQL获取与特定 id 相关的总行数,并获取列中特定值的存在 - MySQL
【发布时间】:2013-01-23 08:42:50
【问题描述】:

我有一个包含三列的用户表 -> user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,用户名 VARCHAR(256),电子邮件 VARCHAR(100),国家/地区 VARCHAR(50)。

我运行这个查询 -> SELECT COUNT(*) FROM users WHERE country = 'Brazil'

这让我得到了来自巴西的用户总数。但我也想了解返回的行中是否存在特定的 user_id。

怎么做?

【问题讨论】:

    标签: mysql select count


    【解决方案1】:
    SELECT COUNT(*) AS cnt, SUM(IF(user_id=XXX, 1, 0)) AS xxx_is_present
    ...
    

    如果基础结果集中存在 xxx,则总和将为 > 0

    【讨论】:

    • 现在当我这样做时 -> SELECT COUNT(*) AS cnt, SUM(IF user_id='1', 1, 0) AS present FROM users WHERE country = 'Brazil' 它显示一个错误
    • 我的回答有误。忘记了 IF() 函数的括号。
    • 你能告诉我,我如何计算得到这个结果所花费的时间。
    • 获取查询调用之前/之后的时间?
    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多