[英]trying to build mysql query with counts and group by
How can I build a query to do the following? 如何建立查询以执行以下操作?
data fields: id, phonenumber, name 数据字段:ID,电话号码,姓名
I've tried: 我试过了:
SELECT count(phonenumber), phonenumber, GROUP_CONCAT(name)
FROM list
group by phonenumber
having count(phonenumber) > 5
but it's timing out, so not sure if that's the right format. 但它正在超时,因此不确定这种格式是否正确。
fake data: 伪造数据:
id | phonenumber | name
1 | 555-5555 | joe
2 | 444-4444 | joe
3 | 555-5555 | joe
4 | 555-5555 | dan
5 | 555-5555 | Ben
6 | 555-5555 | Griff
7 | 555-5555 | Sam
8 | 555-5555 | Jim
desired output: 所需的输出:
count(phonenumber | phonenumber | GROUP
7 | 555-5555 | joe, dan, Ben, Griff, Sam, Jim
It looks like your query works just fine. 看起来您的查询工作正常。 Here is sqlfiddle .
这是sqlfiddle 。
If you need to get only DISTINCT
names then you can do it like this 如果只需要获取
DISTINCT
名称,则可以这样
SELECT COUNT(phonenumber) AS `count`,
phonenumber,
GROUP_CONCAT(DISTINCT name) AS `names`
FROM `list`
GROUP BY phonenumber
HAVING COUNT(phonenumber) > 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.