Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

SELECT 列表

SELECT 列表指定希望查询返回的列、函数和表达式。列表表示查询的输出。

语法

Copy
SELECT [ TOP number ] [ ALL | DISTINCT ] * | expression [ AS column_alias ] [, ...]

参数

TOP number

TOP 将正整数用作其参数,用于定义返回到客户端的行数。使用 TOP 子句的行为与使用 LIMIT 子句的行为相同。返回的行数是固定的,但行集不是固定的;要返回一致的行集,请将 TOP 或 LIMIT 与 ORDER BY 子句结合使用。

ALL

一个冗余关键字,定义未指定 DISTINCT 的情况下的默认行为。SELECT ALL *SELECT * 的含义相同(选择所有列的所有行并保留重复条目)。

DISTINCT

一个选项,用于根据一个或多个列中的匹配值消除结果集中的重复行。

*(星号)

返回表的完整内容(所有列和所有行)。

expression

由查询引用的表中存在的一个或多个列构成的表达式。表达式可包含 SQL 函数。例如:

Copy
avg(datediff(day, listtime, saletime))
AS column_alias

将在最终结果集中使用的列的临时名称。AS 关键字是可选的。例如:

Copy
avg(datediff(day, listtime, saletime)) as avgwait

如果您没有为不是简单列名的表达式指定别名,则结果集将对该列应用默认名称。

注意

在分析整个目标列表之前不会识别别名,这意味着,无法在目标列表中的其他位置引用别名。例如,以下语句将失败:

Copy
select (qtysold + 1) as q, sum(q) from sales group by 1; ERROR: column "q" does not exist

您必须使用已指定别名 q 的同一表达式:

Copy
select (qtysold + 1) as q, sum(qtysold + 1) from sales group by 1; q | sum ---+-------- 8 | 368 ...

使用说明

TOP 是一个 SQL 扩展;它提供 LIMIT 行为的替代。不能在同一个查询中使用 TOP 和 LIMIT。

本页内容: