问题标签 [natural-sort]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 从 MySQL 返回结果时的数字顺序
我的数据库中的表中有以下类型的标题:
选择查询将始终返回如下结果:
...省略主题 2、主题 3 等...直到所有青少年都得到主题 2 等...
我怎样才能得到我的结果:
.... 一直到主题 9,然后才有主题 10?
sql-server - NHibernate中的自然排序
我有一个返回对象列表的休眠查询,我想按标题排序。这是一个用户维护的字段,我们的一些客户喜欢在他们的标题前加上数字,这不是我可以控制的。数据是这样的:
一个传统的
导致文本排序:
这是正确的,因为这是一个 nvarchar 字段,但是有什么方法可以让数字也进行排序?
似乎有几种解决方法涉及在所有字段前加上前导 0 之类的前缀,但是这些方法中的任何一个都可以通过 NHibernate 工作吗?
此应用程序可在 Oracle 和 MsSQL 上交替运行。
干杯,
马特
c# - 排序列表在 C# 中
如何根据项目的整数值对列表进行排序
清单就像
结果应该是这样的
有没有办法使用 LINQ 或 Lambda 表达式来做到这一点?
提前致谢
.net - 写一个更好的自然排序(比我的)
我在这里添加了对这个问题的答案:在 C#中排序List<String>
,它需要自然的排序顺序,即处理嵌入数字的顺序。
然而,我的实现是幼稚的,代替所有关于应用程序如何通过假设事情(土耳其测试任何人?)来正确处理 Unicode 的帖子,我想我会寻求帮助来编写更好的实现。或者,如果有.NET的内置方法,请告诉我:)
我对该问题的答案的实现只是遍历字符串,逐个字符进行比较,直到在两者中都遇到一个数字。然后它从两个字符串中提取连续的数字,这可能导致长度不同,用前导零填充最短的数字,然后进行比较。
但是,它存在问题。
例如,如果您在字符串 x 中有两个代码点,它们一起构成字符 È,但在另一个字符串中您只有一个代码点,即那个字符。
我的算法会在这些问题上失败,因为它将变音符号代码点视为单个字符,并将其与另一个字符串中的 È 进行比较。
谁能指导我如何正确处理这个问题?我希望支持指定一个CultureInfo
对象来处理语言问题,比如在德国比较“ss”和“ß”,以及类似的事情。
我想我需要让我的代码枚举“真实字符”(我不知道这里的真实术语)而不是单个代码点。
什么是正确的方法?
另外,如果“自然”意味着“人类期望它的工作方式”,我会添加以下内容来思考:
- 日期和时间呢?
- 浮点值呢?
- 还有其他被认为是“自然”的序列吗?
- 这应该延伸到什么程度?(Eeny,meeny,miny,萌)
php - sql按数字排序然后按字母顺序
在这个例子中:
我怎样才能按这个顺序排序?:
我使用 abs(value) 但在字母大小写中不起作用
sql - 如何在 MYSQL 中按名称创建订单,就像在窗口中使用订单名称一样
带有行的表格图片有名称
mysql命令:1.jpg,10.jpg,11.jpg,2.jpg,3.jpg,......
问题:
我希望它像 Window 一样对所有类型名称进行排序1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,8.jpg,9.jpg,10.jpg,11.jpg
它必须与其他情况一起使用
请帮我
mvvm - 如何使用 ViewModel 为 silverlight 数据网格实现自然(人类字母数字)排序?
在使用数据网格的 Silverlight 项目中,我使用了一些定义“标签编号”的列,它是一个 Varchar。
我想按照“http://www.interact-sw.co.uk/iangblog/2007/12/13/natural-sorting”中所述的自然排序顺序或任何可能的方式对该列进行排序。
当我环顾数据网格时,我只看到了 SortMemberPath="stringProperty"。因此,我的排序只是像字符串排序一样工作。例如:
Z1
Z10
Z2
Z20
我希望它在哪里排序:
Z1
Z2
Z10
Z20
这方面的建议会有很大帮助。
sql - 如何在 PostgreSQL 中对包含单词和数字的 VARCHAR 列进行排序?
我需要使用 varchar 列,使用数字和文本顺序来订购选择查询。查询将在 java 程序中完成,使用 jdbc over postgresql。
如果我ORDER BY
在 select 子句中使用,我将获得:
但是,我需要获得:
问题是该列也可以包含文本。
这个问题类似(但针对 SQL Server):
如何在 SQL Server 中对包含单词和数字的 VARCHAR 列进行排序?
但是,提出的解决方案不适用于 PostgreSQL。
预先感谢,问候,
sql - 以类似 Excel 的方式在 MySQL 中对 varchar 列进行排序
我有一个 varchar 列,其中包含混合数据字符串、整数、小数、空白字符串和空值。我想以与 Excel 相同的方式对列进行排序,首先对数字进行排序,然后对字符串进行排序。例如:
- 1
- 2
- 3
- 3.5
- 10
- 11
- 12
- 艾伦
- 鲍勃
- 卡尔
- (空白/空)
- (空白/空)
我尝试过像“ORDER BY my_column+0”这样的东西,它可以正确地对数字进行排序,但不能对字符串进行排序。我希望有人可能知道实现此目的的有效方法。
MartinofD 的建议在很大程度上是有效的,如果我稍微扩展一下,我就能得到我想要的:
SELECT a FROM test ORDER BY a IS NULL OR a='', a<>'0' AND a=0, a+0, a;
虽然很丑,我不确定是否有更好的选择。
mysql - 如何按数学顺序对具有数字的字段进行排序
我们的数据库中存在以下用户..
如果上述字段按升序排序,则输出如下。
是否可以按顶部的顺序对其进行排序(即列出所有个位数,两位数......)