如何对mysql的结果进行分组

fsi0uk1n  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(242)

我的table:

datetime.                employment.        name
2019-11-25 12:32:12.     office.            Michael Jackson
2020-01-31 12:32:22.     production.        Jenny Darling
2019-12-25 12:32:12.     office.            Michael Jackson
etc.

这是一个“时间注册”表,因此每个mounth的名称必须是不同的(每月有多少个独特的名字(按月份和工作分组)
现在我想创建一个表,显示每年每个月有多少员工。
所以这张table看起来像:

Year & Month.    Employment.   Number (Unique names)
-------------------------------------
2019-01.         Office.       50
2019-01          Production.   35
2019-02.         Office.       45
2019-02.         Production.   36

以此类推,今年和上一年(2019年和2020年)
比如:

SELECT * FROM table COUNT(DISTINCT(name)) AS number GROUP BY datetime AND employment
h5qlskok

h5qlskok1#

你好像想。。。但你的查询在几个方面是无效的。我想你想要:

select
    date_format(datetime, '%Y-%m') yr_month,
    employment,
    count(distinct name) no_unique_names
from mytable
group by yr_month, employment

这将使您每年/每月都有一行 employment ,具有相应的distinct计数 names .

相关问题