0

有什么方法可以在计算视图中对字段进行排序,我们可以在数据预览中对字段进行排序,但仅限于 200 行或一些行数,但如何仅在计算视图中应用排序逻辑。

4

2 回答 2

0

正如 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;
于 2017-11-02T09:02:09.460 回答
0

预览限制 200 可在 HANA Studio 中配置,并且与用于显示数据的 SQL 查询有关。

一般来说,排序在计算视图中是不固定的。请记住,计算视图只是等式的一部分——读取视图的 SELECT 查询是另一个。因此,排序、分组以及最终的过滤和投影总是在这个 SELECT 语句中指定。

如果您确实需要提供预定义的排序顺序,那么您可以将针对计算视图的 SELECT 放入 SQL 视图中。当然,这也带来了 SQL 视图不作为信息视图公开的缺点,这是报告工具可能依赖的。此外,通过在查询它的 SELECT 语句中指定不同的排序顺序,可以轻松地“覆盖” SQL 视图中的排序顺序。

于 2017-10-31T23:14:49.873 回答