Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 蜂巢字母排序_Sorting_Hadoop_Hive_Hql_Lts - Fatal编程技术网

Sorting 蜂巢字母排序

Sorting 蜂巢字母排序,sorting,hadoop,hive,hql,lts,Sorting,Hadoop,Hive,Hql,Lts,当我在配置单元查询中有ORDERBY子句时 例如: SELECT * FROM categories ORDER BY category_name 结果将首先按所有大写字母排序,然后按所有小写字母排序 我需要一些表约束或配置来强制执行下面的行为。 使用UPPER/LOWER进行会话排序没有帮助 目前的结果: 预期结果 是否有任何配置强制配置单元首先按字母顺序排序数据。 在sql中,它是一个排序规则 在oracle及其LTS中 这种预期排序结果的正确配置是什么, 以及在哪里设置 感谢高级版使用较

当我在配置单元查询中有ORDERBY子句时 例如:

SELECT *
FROM categories
ORDER BY category_name
结果将首先按所有大写字母排序,然后按所有小写字母排序 我需要一些表约束或配置来强制执行下面的行为。 使用UPPER/LOWER进行会话排序没有帮助

目前的结果:

预期结果

是否有任何配置强制配置单元首先按字母顺序排序数据。 在sql中,它是一个排序规则 在oracle及其LTS中 这种预期排序结果的正确配置是什么, 以及在哪里设置

感谢高级版

使用较低版本怎么样

注意:对于结果的情况,这是任意的。因为在所有现代排序规则中,小写字母都位于大写字母之后,所以您可以执行以下操作:

SELECT c.*
FROM categories c
ORDER BY LOWER(c.category_name), c.category_name DESC;

为了实现字母排序或任何排序,可以在查询中使用clusterby

SELECT *
FROM categories
cluster BY LOWER(category_name);
您也可以使用distribute by with sort by选项来实现更定制的解决方案。 选择* 从类别 按较低类别_名称分发
按较低类别排序\u name DESC

我有其他查询表的工具。因此,我需要一些表约束/配置来强制它按照我提到的那样运行。
SELECT *
FROM categories
ORDER BY LOWER(category_name);
SELECT c.*
FROM categories c
ORDER BY LOWER(c.category_name), c.category_name DESC;
SELECT *
FROM categories
cluster BY LOWER(category_name);