首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询进行计数,然后显示其他数据

MySQL查询进行计数,然后显示其他数据
EN

Stack Overflow用户
提问于 2012-06-08 01:19:36
回答 2查看 95关注 0票数 0

这个当前查询运行得很好,它给出了表中每条记录和办公室名称出现的次数和办公室的计数。如何展开此查询以首先像当前一样显示办公室和计数,然后在与办公室匹配的每个记录的计数下显示列lastName、电话,然后移动到下一个办公室和办公室(计数)并显示这些姓氏、电话记录等?这在MySQL中是可能的吗?

代码语言:javascript
复制
SELECT Office, COUNT(Office) AS c 
FROM Active 
GROUP BY Office 
HAVING COUNT(Office) >= 5  ORDER BY c DESC

示例:

Office1 |2

Office1 | lastName |手机

Office1 | lastName |手机

Office2 |3

Office2 | lastName |手机

Office2 | lastName |手机

Office2 | lastName |手机

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-08 01:31:19

不,你不能这么做。最好的选择是UNION,但是必须有相同的列数和列类型,这与您的条件不匹配。

你为什么不试试呢?

代码语言:javascript
复制
SELECT Office, lastName, Phone FROM Active ORDER BY Office

在您的编程语言中,解析这些行并使用计数器变量来计算相同的Office记录,然后构建您自己的表。

编辑:你说它是用来直接导出到电子表格的。您可以在两个查询中做到这一点:执行count()查询,然后执行上面的查询。导出这两个结果,并根据需要在电子表格中混合它们。嘿,它能帮你完成任务。

票数 1
EN

Stack Overflow用户

发布于 2012-06-08 01:24:51

您可以尝试使用MySQL的UNION,但是列数和列名必须相同。

总体而言,这似乎是一个错误的方法。试着在你不需要这种输出的地方重新思考你的逻辑。

我建议只接收姓氏和电话,并缓存结果,然后解析它们。COUNT(*)在技术上是多余的信息,因为具有相同Office的行数已经描述了这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10936684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档