什么是我的SQL。计算过去一年中客户每月的次数

时间:2012-04-17 21:30:12

标签: sql oracle group-by

SELECT * 
FROM CLIENT
WHERE CLIENT_REG_DATE > DATEADD(year,-1,GETDATE())
GROUPBY MONTH(CLIENT_REG_DATE).

我投入Apex Oracle并运行它并说它

SQL command not properly ended

1 个答案:

答案 0 :(得分:4)

Oracle中既没有DATEADD也没有getdate()month()功能。

有关所有可用日期功能的列表,请参阅手册:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions002.htm#i88891

语句必须以;

终止

如果你使用的是SELECT *,那么群组肯定也无法正常工作。

如果没有详细说明你想要分组的内容,很难说,但是从这样的事情开始:

SELECT to_char(client_reg_date, 'yyyy-mm'), count(*)
FROM CLIENT
WHERE CLIENT_REG_DATE > add_months(sysdate, -12)
GROUP BY to_char(client_reg_date, 'yyyy-mm')