MySQL 在同一个表中选择和计数

标签 mysql sql

我有一张完全像这样的 table

|month|year|candidate_id|emp_id
|    6|2016|10          |5
|    6|2016|11          |5
|    6|2016|12          |5
|    7|2016|13          |5
|    7|2016|14          |5

所以我想统计每个月添加了多少候选人,并显示月份、年份和候选人总数,如下所示

|Month|Year|Total
|    6|2016|3
|    7|2016|2

我试过使用这个sql脚本

SELECT
    c.MONTH,
    c.YEAR,
    a.total
FROM
    wp_tsf_reports c,
    (
        SELECT
            COUNT(*) total
        FROM wp_tsf_reports b
        WHERE b.emp_id = '5'
        GROUP BY b.MONTH, b.YEAR DESC
    ) a
WHERE
    c.emp_id = '5'
GROUP BY c.MONTH, c.YEAR DESC

这个的输出是

|Month|Year|Total
|    6|2016|3
|    7|2016|3

如您所见,它显示了两次 3,其中第 6 个月的总数应为 3,第 7 个月的总数应为 2。

需要任何帮助

最佳答案

使用这个

select month, year, count(*) as total from table
where empid=5
group by month,year

关于MySQL 在同一个表中选择和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38501036/

相关文章:

mysql - 同一表中的 SQL 嵌套组

mysql - Laravel Eloquent 关系而不是与父级无关的第三个表上的 Join

php - 读取多对多关系中的值

java - 不使用存储过程检索多个结果集

mysql - 什么时候应该将列标记为主键?

sql - postgresql 将数组聚合成一个包含所有元素并集的数组

c# - MySQL 从流中读取失败

mysql - 如何选择某种文本格式的行?

mysql - (Spring) 使用数据库表执行授权

php - 如何在 PDO 中绑定(bind)当前列值?