【发布时间】:2018-04-12 12:30:42
【问题描述】:
有没有办法在计算视图中对字段进行排序,我们可以在数据预览中对字段进行排序,但限制为 200 行或一些行数,但如何仅在计算视图中应用排序逻辑。
【问题讨论】:
标签: hana hana-studio
有没有办法在计算视图中对字段进行排序,我们可以在数据预览中对字段进行排序,但限制为 200 行或一些行数,但如何仅在计算视图中应用排序逻辑。
【问题讨论】:
标签: hana hana-studio
200 的预览限制可在 HANA Studio 中配置,并且与用于显示数据的 SQL 查询有关。
一般来说,排序在计算视图中是不固定的。请记住,计算视图只是等式的一部分——读取视图的 SELECT 查询是另一个。 因此,排序、分组以及最终的过滤和投影总是在这个 SELECT 语句中指定。
如果您确实需要提供预定义的排序顺序,那么您可以将针对计算视图的 SELECT 放入 SQL 视图中。当然,这也带来了 SQL 视图不作为信息视图公开的缺点,这是报告工具可能依赖的。 此外,通过在查询它的 SELECT 语句中指定不同的排序顺序,可以轻松地“覆盖” SQL 视图中的排序顺序。
【讨论】:
正如 Lars 在他的回答中所写,表和视图实际上是未排序数据的来源。数据排序在 SELECT 语句中完成,该语句在视图或表上运行。 通常,尝试在视图定义中使用 ORDER BY 对数据进行排序会导致语法错误或警告消息。并且不能保证数据将按照视图定义中使用的 ORDER BY 子句中定义的顺序提供服务。
但我对 HANA DB 的体验认为它有效(!)但不应该 这是一个示例视图定义
create view my_city_list_view
as
select * from city order by city desc
;
一个简单的 SELECT 返回我无法理解的有序数据
select * from my_city_list_view;
【讨论】: