У меня есть стол table
с колонками date
и total
.Найти Всего за неделю
Как я могу заполнить sum
из total
столбец за неделю за последние 20 недель до sysdate
?
У меня есть стол table
с колонками date
и total
.Найти Всего за неделю
Как я могу заполнить sum
из total
столбец за неделю за последние 20 недель до sysdate
?
select trunc(date,'D'), sum(total)
from table
where date >= trunc(sysdate - 20*7, 'D')
group by trunc(date,'D')
order by 1
Существуют разные способы группировки дат в неделях. «W», «WW» и «IW» будут давать разные даты, хотя еженедельные агрегаты не будут отличаться. – APC
SELECT *, CONCAT(YEAR(`sysdate`), '/', WEEK(`sysdate`)) AS `year_week`
FROM `table`
GROUP BY `year_week`
ORDER BY `year_week` DESC
LIMIT 20;
Почему это помечено Oracle и MySQL? Вы хотите сделать это для двух разных СУБД? – Corbin
Каков тип данных столбца «дата»? Является ли это VARCHAR или DATE или TIMESTAMP? –
На самом деле мне нужно сделать это от Oracle – Bishan