0

我正在尝试查找以下查询返回的行数:

SELECT Count(id) AS fcount, 
       user_id 
FROM   customer_followups 
WHERE  id > 0 
       AND Date(followup_date) >= Str_to_date("24-09-2012", "%d-%m-%y") 
       AND Date(followup_date) <= Str_to_date("24-09-2012", "%d-%m-%y") 
GROUP  BY user_id 
ORDER  BY user_id 

它返回我 5 行。

但是,如果我在没有计数功能的情况下触发查询,我只会得到一条记录。见下文:

SELECT id, 
       user_id 
FROM   customer_followups 
WHERE  id > 0 
       AND Date(followup_date) >= Str_to_date("24-09-2012", "%d-%m-%y") 
       AND Date(followup_date) <= Str_to_date("24-09-2012", "%d-%m-%y") 
GROUP  BY user_id 
ORDER  BY user_id 

可能是什么原因?理想情况下,计数应该返回 1 ??

4

1 回答 1

1

COUNT为您提供满足条件的组的记录数。

The COUNT function is an aggregate function that simply counts all the items that
are in a group.

而在您的第二个查询中,您只需找到该组的 id 和 user_id。请记住,如果该组具有不同的用户 ID,它将返回其中任何一个以查找您可以使用的所有用户 ID,GROUP_CONCAT()即 GROUP_CONCAT(user_id)

于 2012-09-24T07:07:56.383 回答