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/1/php/277.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 在Postgresql 9.4中对jsonb对象进行排序_Sorting_Postgresql 9.4_Jsonb - Fatal编程技术网

Sorting 在Postgresql 9.4中对jsonb对象进行排序

Sorting 在Postgresql 9.4中对jsonb对象进行排序,sorting,postgresql-9.4,jsonb,Sorting,Postgresql 9.4,Jsonb,我面临的问题不是我不能执行排序,而是正确的排序。也就是说,存储为jsonb的对象在显示在表中之前需要进行排序。进行排序的查询的一部分是: ORDER BY data ->> 'Name' ASC 然而问题是,在当前状态下,psql返回按两个集群排序的人员列表:大写和小写。ASC sort返回已排序的upcase+已排序的downcase,而DESC返回反向排序的downcase+反向排序的upcase 按照无案例的顺序对数据进行排序有什么诀窍吗?还是数据最初需要存储在特定案例中 O

我面临的问题不是我不能执行排序,而是正确的排序。也就是说,存储为jsonb的对象在显示在表中之前需要进行排序。进行排序的查询的一部分是:

ORDER BY data ->> 'Name' ASC
然而问题是,在当前状态下,psql返回按两个集群排序的人员列表:大写和小写。ASC sort返回已排序的upcase+已排序的downcase,而DESC返回反向排序的downcase+反向排序的upcase

按照无案例的顺序对数据进行排序有什么诀窍吗?还是数据最初需要存储在特定案例中

ORDER BY lower(data ->> 'Name') ASC

这确实创建了一个临时修复,但如果有其他方法,我会很高兴的

按jsonb值排序与按简单文本字段排序的工作原理相同。如果获得区分大小写的排序,则可能会对数据库设置不正确的排序规则

看,米夏尼克拉斯的回答