我有一個表REGDATE列,註冊日期(YYYY-MM-DD HH:MM:SS)。我想顯示一個直方圖(ExtJS),以瞭解用戶註冊的年份。我希望在過去的十二個月內就當前日期進行此操作,並按星期分組。最近12個月,每週一組
任何提示?
我有一個表REGDATE列,註冊日期(YYYY-MM-DD HH:MM:SS)。我想顯示一個直方圖(ExtJS),以瞭解用戶註冊的年份。我希望在過去的十二個月內就當前日期進行此操作,並按星期分組。最近12個月,每週一組
任何提示?
:
SELECT COUNT(*), DATE_FORMAT(regdate, "%X%V") AS regweek FROM table GROUP BY regweek;
或
SELECT COUNT(*), YEARWEEK(NOW(), 2) as regweek FROM table GROUP BY regweek;
PostgreSQL中:
SELECT COUNT(*), EXTRACT(YEAR FROM regdate)::text || EXTRACT(WEEK FROM regdate)::text AS regweek FROM table GROUP BY regweek;
我嘗試了PostgreSQL並出現錯誤。必須在EXTRACT(年)後添加:: varchar。 – bluemihai 2014-04-09 20:38:15
對於那些正在尋找PostgreSQL版本的人,Tom Gerken下面的例子比較好。它限制爲12個月,零填充日期,並處理日期時間到文本的轉換。 – keithhackbarth 2015-08-10 19:15:39
提示:(SQL)
SELECT CONVERT (VARCHAR(7), REGDATE, 120) AS [RegistrationMonth]
FROM ...
GROUP BY CONVERT (VARCHAR(7), REGDATE, 120)
ORDER BY CONVERT (VARCHAR(7), REGDATE, 120)
FWIW PostgreSQL中,Karaszi有問題的解答,但有一個更快的查詢:
SELECT date_trunc('week', REGDATE) AS "Week" , count(*) AS "No. of users"
FROM <<TABLE>>
WHERE REGDATE > now() - interval '12 months'
GROUP BY 1
ORDER BY 1;
我基於這一關的Ben Goodacre
這應該是被接受的答案;) – Todd 2017-10-27 20:30:31
工作也許這?
select to_char(REGDATE,'WW') "Week number",
count(*) "number of signups",
from YOUR_TABLE
where REGDATE > current_date-365
group by to_char(REGDATE,'WW')
order by to_char(REGDATE,'WW')
+1使用'TO_CHAR'。我想要獨特的一週(而不是一年一次),所以我用'to_char(regdate,'YYYY WW')',但是同樣的想法。 – tscizzle 2016-04-29 17:01:45
其中SQL數據庫? – 2010-09-24 15:12:51