【问题标题】:I need to COUNT the number of leads a user has at any one time我需要计算用户在任何时候拥有的潜在客户数量
【发布时间】:2014-01-12 10:36:29
【问题描述】:

我正在尝试计算用户在任何特定时间拥有的潜在客户,但我收到错误 MySQL 返回了一个空结果集(即零行)。但我在用户表和潜在客户表中都有数据。

表名:users(user_id为主键)

+----------+
|  user_id |
+----------+
|    1     |
|    2     |
|    3     |
+----------+

表名:leads(id为主键,user_id为外键)

+-----------+----------+
|    id     | user_id  |
+-----------+----------+
|    1      |     1    |
|    2      |     2    |
|    3      |     3    |
+-----------+----------+

这是我的代码:

function user_leads_count() {
    return mysql_result(mysql_query("SELECT users.user_id, COUNT(leads.id) AS NumberOfLeads FROM (leads INNER JOIN users ON leads.id=users.user_id) GROUP BY id HAVING COUNT(leads.id) > 0"));
}

【问题讨论】:

  • 连接条件不应该是ON leads.user_id=users.user_id吗?你也需要GROUP BY user_id,而不是id

标签: mysql


【解决方案1】:

试试这个 SQL

SELECT users.user_id, COUNT(leads.id) AS NumberOfLeads 
    FROM leads
    JOIN users USING (user_id)
GROUP by user
HAVING NumberOfLeads > 0

【讨论】:

    【解决方案2】:

    是否需要引用 users 表,如果不需要,试试这个应该可以

    SELECT COUNT(id) AS NumberOfLeads, user_id
    FROM Leads
    GROUP BY user_id
    HAVING COUNT(leads.id) > 0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多