我正在尝试查找以下查询返回的行数:
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行。
但是如果我在没有count函数的情况下触发查询,我只得到一条记录。见下文:
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 ??
答案 0 :(得分:1)
COUNT
为您提供满足条件的组的记录数。
The COUNT function is an aggregate function that simply counts all the items that
are in a group.
在第二个查询中,您只需找到该组的id和user_id。请记住,如果该组具有不同的用户ID,它将返回其中任何一个以查找您可以使用的所有user_id GROUP_CONCAT()
,即GROUP_CONCAT(user_id)