首页 > 解决方案 > 有没有办法使用 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

标签: postgresql

解决方案


然后,您需要在名称字段上进行一些更高级的处理。本主题将帮助您在订购前从字符串中去除非字母字符: 如何在 SQL Server 中从字符串中去除所有非字母字符?

但是您需要如此复杂的功能这一事实让我质疑您的数据库的构建过程:如果“John”和“John”。是同一个人,他们应该有相同的名字。所以如果“。” 很重要,这意味着您需要另一个字段来存储它所代表的信息。


推荐阅读