在 SQL 中添加列为 End_date,间隔 +100 天
add column as End_date with +100 days interval in SQL
我正在尝试解决这个问题。 table 有 cycle and date
列,我想再添加一列作为 end date with interval of 100 days from current date
并想显示 cycle, start_date, end_date
作为输出。
我试过了
select cycle, min(start) as startt, max(start) as endd
from cy
group by cycle ;
然而直到现在都没有运气。
它的 MYSQL 数据库最新版本。
CREATE TABLE table1 (
`cycle` INTEGER,
`date` DATE,
);
INSERT INTO table1
(`cycle`, `date`)
VALUES
('1', '15-Jan-21'),
('2', '01-Aug-21'),
('3', '08-sep-21'),
('4', '15-Dec-21');
输出:
如果我理解正确的话,如果您的 MySQL 版本支持,您可能希望将 LEAD
window 函数与 DATE_SUB
一起使用。
SELECT *
FROM (
SELECT *,DATE_SUB(LEAD(`date`) OVER(ORDER BY cycle), INTERVAL 1 DAY) endDate
FROM table1
) t1
WHERE endDate IS NOT NULL
我正在尝试解决这个问题。 table 有 cycle and date
列,我想再添加一列作为 end date with interval of 100 days from current date
并想显示 cycle, start_date, end_date
作为输出。
我试过了
select cycle, min(start) as startt, max(start) as endd
from cy
group by cycle ;
然而直到现在都没有运气。
它的 MYSQL 数据库最新版本。
CREATE TABLE table1 (
`cycle` INTEGER,
`date` DATE,
);
INSERT INTO table1
(`cycle`, `date`)
VALUES
('1', '15-Jan-21'),
('2', '01-Aug-21'),
('3', '08-sep-21'),
('4', '15-Dec-21');
输出:
如果我理解正确的话,如果您的 MySQL 版本支持,您可能希望将 LEAD
window 函数与 DATE_SUB
一起使用。
SELECT *
FROM (
SELECT *,DATE_SUB(LEAD(`date`) OVER(ORDER BY cycle), INTERVAL 1 DAY) endDate
FROM table1
) t1
WHERE endDate IS NOT NULL