这个当前查询运行得很好,它给出了表中每条记录和办公室名称出现的次数和办公室的计数。如何展开此查询以首先像当前一样显示办公室和计数,然后在与办公室匹配的每个记录的计数下显示列lastName、电话,然后移动到下一个办公室和办公室(计数)并显示这些姓氏、电话记录等?这在MySQL中是可能的吗?
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 |手机
发布于 2012-06-08 01:31:19
不,你不能这么做。最好的选择是UNION,但是必须有相同的列数和列类型,这与您的条件不匹配。
你为什么不试试呢?
SELECT Office, lastName, Phone FROM Active ORDER BY Office在您的编程语言中,解析这些行并使用计数器变量来计算相同的Office记录,然后构建您自己的表。
编辑:你说它是用来直接导出到电子表格的。您可以在两个查询中做到这一点:执行count()查询,然后执行上面的查询。导出这两个结果,并根据需要在电子表格中混合它们。嘿,它能帮你完成任务。
发布于 2012-06-08 01:24:51
您可以尝试使用MySQL的UNION,但是列数和列名必须相同。
总体而言,这似乎是一个错误的方法。试着在你不需要这种输出的地方重新思考你的逻辑。
我建议只接收姓氏和电话,并缓存结果,然后解析它们。COUNT(*)在技术上是多余的信息,因为具有相同Office的行数已经描述了这一点。
https://stackoverflow.com/questions/10936684
复制相似问题