如何格式化和打印sql查询的结果

时间:2015-07-11 18:14:33

标签: mysql sql database

我最近在采访中得到了这个问题,我没有回答。问题是列出列表雇主中出现的副本数量,如下表所示

id  |   employer   |  employee
1   |    isro      |      dude1
2   |    isro      | dude 2
3   |    cnd       | dude 3
4   |   df         | dsfdef
5   | dfdf         | dfdfd
...

所以结果应该像

isro  = 2
df    = 4
dfsf  = 6

我如何实现这一目标? 我知道有count(*)我可以使用带有where子句的select语句,但是我如何实现上述结果。

2 个答案:

答案 0 :(得分:2)

HAVING子句可用于过滤聚合值:

SELECT employer, COUNT(*)
FROM yourTable
GROUP BY employer
HAVING COUNT(*) > 1

答案 1 :(得分:0)

假设TableName是您要从中选择的表的名称,这将是您的答案。

SELECT employer, count(employer) 
  FROM TableName 
  GROUP BY employer
  HAVING COUNT(*) > 1

这是一个非常相似的问题的答案,其中包含更多信息。

How to count occurrences of a column value efficiently in SQL?