mysql - SQL 和不同的

标签 mysql sql distinct

我在用 MySQL 生成报告时遇到了问题。我有这张 table :

CREATE TABLE users (
    id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    birthday DATE,
    title VARCHAR(255)
);

我需要生成一份报告,显示给定月份存在多少本书。我的第一个想法是这样的:

SELECT COUNT(DISTINCT(MONTH(birthday))) AS q 
  FROM users

当然,这只会返回记录中存在的月份数。我需要的是这样的:

Month | Count
-------------
2     | 384
5     | 131
12    | 585

最佳答案

这应该有效:

SELECT MONTH(birthday), COUNT(*) AS BirthdayCount
FROM user
GROUP BY MONTH(birthday)

这将为您提供月份编号和该月的记录数,这就是您要查找的内容。

关于mysql - SQL 和不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6381071/

相关文章:

mysql - 使用 Self 上的 IN 子查询优化更新查询

PHP 不同等价物

SQL 选择不同列和最新日期

php - 将 while 循环中文本框中的数据提交到数据库

php - PHP行更新有一个小缺陷

mysql - CONCAT 和 LIMIT 的 SQL 版本

mysql - phpmyadmin 排序依据(喜欢在 x 时间内完成-不喜欢在 x 时间内完成)

mysql - SQL 中分组属性的不同值

android - 从模型中获取 SQL 插入语句字符串?

mysql - EXPLAIN 语句说 'Using where; Using index' 如果在查询中设置了 USE INDEX() 否则就说 'Using where'