postgresql - 有没有办法使用 order by 将相似的字段排序在一起?
问题描述
有没有办法使类似的值按顺序等效?
说数据是:
name | number
John. | 9
John | 1
John. | 2
Smith | 4
John | 3
我想按名称排序,然后按编号排序,这样输出看起来像这样,但order by name, number
会将所有John
条目放在条目之前John.
。
name | number
John | 1
John. | 2
John | 3
John. | 9
Smith | 4
解决方案
然后,您需要在名称字段上进行一些更高级的处理。本主题将帮助您在订购前从字符串中去除非字母字符: 如何在 SQL Server 中从字符串中去除所有非字母字符?
但是您需要如此复杂的功能这一事实让我质疑您的数据库的构建过程:如果“John”和“John”。是同一个人,他们应该有相同的名字。所以如果“。” 很重要,这意味着您需要另一个字段来存储它所代表的信息。
推荐阅读
- hive - Presto + 运行 presto 查询时打开 Hive 拆分时出错
- python - 如何让联合核密度图在黑色背景上看起来更好(seaborn)
- python - 根据列值的条件从主数据框创建新的数据框(不使用.ix)
- python - Tkinter:无法让网格几何管理器使用框架
- django - django modelmanager 查询集不返回页面
- c - Android NDK SIGSEGV 致命信号 11,代码 2 (SEGV_ACCERR)
- python - 使用 pandas 对象计算公式
- javascript - ReactJS在运行函数后清除textarea值
- python - Python中函数的奇怪热编码问题
- flutter - 如何在模型类型列表列表中的零位置插入默认值
在颤动的下拉按钮中显示