我有一个如下所示的查询:
SELECT
date(created_at as date) as created_date,
id,
count(distinct file_name) as files_total,
null as files_error
FROM table
GROUP BY created_date, id
我的表格中没有名为created_date
的列。
为什么此查询有效?
Created_Date
在查询的选择部分中创建created_at的日期时创建。
按此顺序处理SQL:
from, where, group by, having, select, order by
Group By
出现在Select
之前。
在上面的查询中,别名直到g roup by
之后才出现,但由于某种原因,别名在group by
中起作用。
为什么会这样?
答案 0 :(得分:2)
您没有名为created_date
的列,但您在此处创建了别名created_date
date(created_at as date) as created_date,
在postgresql中,可以在Group by
中引用别名,这就是它工作的原因
Group by
可能会在select
之后处理逻辑DBMS
子句,但在<input type="number">