Oracle SQL: COUNT DISTINCT BY 新创建的变量
Oracle SQL: COUNT DISTINCT BY newly created variable
我想通过新创建的列 MONTH_YEAR
计算 ID
的不同条目,以便获得存储不同值 MONTH_YEAR
的 table(例如07-2020)和相应的不同计数 ID
(例如 2345)。我使用了这段代码,但没有成功:
SELECT TIME, to_char(TIME, 'MM-YYYY') "MONTH_YEAR", COUNT (DISTINCT ID) "IdCount"
GROUPBY MONTH_YEAR
FROM table
我想我必须创建一个新的 table,只有上面提到的两个值,不是吗?如果是这样,我应该如何修改我的代码?
GROUP BY
子句中不能使用别名,并替换FROM
和GROUP BY
子句的顺序,如
SELECT TO_CHAR(time, 'MM-YYYY') AS month_year, COUNT (DISTINCT id) AS "IdCount"
FROM tab
GROUP BY TO_CHAR(time, 'MM-YYYY')
顺便说一句,所有非聚合列都应包含在 GROUP BY
列表中。
我想通过新创建的列 MONTH_YEAR
计算 ID
的不同条目,以便获得存储不同值 MONTH_YEAR
的 table(例如07-2020)和相应的不同计数 ID
(例如 2345)。我使用了这段代码,但没有成功:
SELECT TIME, to_char(TIME, 'MM-YYYY') "MONTH_YEAR", COUNT (DISTINCT ID) "IdCount"
GROUPBY MONTH_YEAR
FROM table
我想我必须创建一个新的 table,只有上面提到的两个值,不是吗?如果是这样,我应该如何修改我的代码?
GROUP BY
子句中不能使用别名,并替换FROM
和GROUP BY
子句的顺序,如
SELECT TO_CHAR(time, 'MM-YYYY') AS month_year, COUNT (DISTINCT id) AS "IdCount"
FROM tab
GROUP BY TO_CHAR(time, 'MM-YYYY')
顺便说一句,所有非聚合列都应包含在 GROUP BY
列表中。