【发布时间】:2020-08-16 22:10:03
【问题描述】:
我有一个名为start_date 的DATE 列。我为end_date 创建了一个新的别名列——它只是下一条记录的start_date,减去一天。
现在我还想创建另一个别名列num_days,它将输出start_date 和end_date 之间的差异。这是我当前的查询:
SELECT td1.*,
(
SELECT DATE_SUB(td2.start_date, INTERVAL 1 DAY)
FROM test_date td2
WHERE id = td1.id + 1
) AS end_date,
DATEDIFF(end_date, td1.start_date) AS num_days
FROM test_date td1
但是我收到一个错误:Unknown column 'end_date' in 'field list'。我知道这是因为它无法在同一个 select 中引用别名 - 那我该怎么做?
【问题讨论】: