clickhouse - Clickhouse - 如何使用限制进行自然排序查询?
问题描述
我希望我的选择查询能够使用这些概念进行自然排序:https ://rosettacode.org/wiki/Natural_sorting
解决方案
您可以使用如下查询中的排序规则设置。
考虑到 ClickHouse 有排序规则错误#7482并且对于某些语言(例如en、de )失败。
SELECT arrayJoin(['kk 50', 'KK 01', ' KK 2', ' KK 3', 'kk 1', 'x9y99', 'x9y100']) item
ORDER BY item ASC
/*
Result:
┌─item──────┐
│ KK 2 │
│ KK 3 │
│ KK 01 │
│ kk 1 │
│ kk 50 │
│ x9y100 │
│ x9y99 │
└───────────┘
*/
SELECT arrayJoin(['kk 50', 'KK 01', ' KK 2', ' KK 3', 'kk 1', 'x9y99', 'x9y100']) item
ORDER BY item ASC COLLATE 'tr-u-kn-true-ka-shifted'
/*
Result:
┌─item──────┐
│ kk 1 │
│ KK 01 │
│ KK 2 │
│ KK 3 │
│ kk 50 │
│ x9y99 │
│ x9y100 │
└───────────┘
*/
推荐阅读
- python - solve() 之后的 PuLP 输出(迭代、梯度、松弛等)
- swift - 无法打开 LevelDB 数据库 [FSTFirestoreClient initializeWithUser:settings:] Firebase Swift Crash
- php - PHP — 关于 zip:// 协议的信息
- c# - 如何通过 IIS 有效地将 GET 和 POST 捕获到 WinForms c#?
- android - 为什么当我尝试通过 USB 安装应用程序时出现错误,错误提示:未安装会话“应用程序”,我使用的是 android studio 3.5
- cloud-foundry - Redis 在 Swisscom AppCloud 中使用哪种持久性模式?
- php - 如何在codeigniter中不使用会话或javascript返回当前页面的上一个
- node.js - 在 npm start 上渲染 html
- html - 通过xml中的xsl参数执行html代码
- java - 使用服务主体和邮递员访问 power bi 组和报告