date_part - 当使用where子句时出现错误。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了date_part - 当使用where子句时出现错误。相关的知识,希望对你有一定的参考价值。
我有一张桌子,看起来像这样
我想把销售额加起来,只显示2010年的销售额。 使用DATE_PART可以工作,除了当我尝试使用WHERE子句时
SELECT date_part('year', date) AS year, SUM(weekly_sales) as yearly_sales
FROM sales
GROUP BY year
SELECT date_part('year', date) AS year, SUM(weekly_sales) as yearly_sales
FROM sales
GROUP BY year
WHERE year = 2010;
是不是因为date_part是双精度?
答案
该 WHERE
该条款 之前 的 GROUP BY
子句中定义的列别名,并且它不能访问在 SELECT
条款。
你可以这样做。
SELECT date_part('year', date) AS year, SUM(weekly_sales) as yearly_sales
FROM sales
WHERE date_part('year', date) = 2010
GROUP BY year
或者,更有效的。
SELECT 2010 AS year, SUM(weekly_sales) as yearly_sales
FROM sales
WHERE date >= date '2010-01-01' and date < date '2011-01-01'
以上是关于date_part - 当使用where子句时出现错误。的主要内容,如果未能解决你的问题,请参考以下文章
在MySQL数据库中使用多个WHERE子句值更新多个列值时出现错误。
#1054 - MySQL 中“where 子句”中的未知列“proximite”
UPDATE 查询的 WHERE 子句中的 SELECT 查询 [重复]