【发布时间】:2021-03-05 05:07:22
【问题描述】:
我正在尝试查找每个月的用户数量。 这是我从另一个问题中学到的 SQL。
创建月份的部分很容易理解,但是很长。我想知道是否有一种更简洁的方法来编写相同的 SQL。谢谢。
SELECT
meses.MONTH,
COUNT(Users.user_ID) AS num_of_user
FROM
(
SELECT
1 AS MONTH
UNION
SELECT
2 AS MONTH
UNION
SELECT
3 AS MONTH
UNION
SELECT
4 AS MONTH
UNION
SELECT
5 AS MONTH
UNION
SELECT
6 AS MONTH
UNION
SELECT
7 AS MONTH
UNION
SELECT
8 AS MONTH
UNION
SELECT
9 AS MONTH
UNION
SELECT
10 AS MONTH
UNION
SELECT
11 AS MONTH
UNION
SELECT
12 AS MONTH
) AS meses
LEFT JOIN
Users
ON
meses.month = MONTH(Users.joint_date) AND YEAR(Users.joint_date) = '2000'
GROUP BY
meses.MONTN
【问题讨论】:
-
考虑处理应用代码中数据显示的问题
-
顺便说一下,您只需要第一个“AS MONTH”。
标签: mysql sql datetime count recursive-query