当前位置: 首页 > 知识库问答 >
问题:

Order by查询返回不同的排序

马梓
2023-03-14

按查询排序返回不同的排序,为什么?

SELECT class FROM table WHERE class != "" ORDER BY class ASC

结果:

411101000010

*411102000010* (err)

411101000000

411101000020

411101000050 

为什么?

共有1个答案

濮阳旭东
2023-03-14

我假设您的类列是varchar,所以要对列类进行排序,您需要将其转换为int,方法是将其强制转换为int或使用这个技巧order by ABS(class)

SELECT class FROM table
ORDER BY CAST(class AS INT) ASC

处理字符串时使用单引号class!=''。SQL中一般不会使用双引号,但它依赖于您正在使用的数据库(MySQL同时接受单引号和双引号)。

未显式指定任何内容时,order by子句中的默认排序为asc。因此您可以省略order asc,因为它是默认值。

 类似资料:
  • 问题内容: 因此,如果我的JPA查询是这样的:从“父项”左侧选择不同的“ p”,然后按“ p.someProperty”获取“ p.children”的顺序 我正确地将结果按p.someProperty重新排序,并且正确地获取并填充了我的p.children集合。但是我想让查询类似于“按p.someProperty,p.children.someChildProperty排序”,以便每个父对象内部

  • 我的查询没有使用参数对我的帖子进行排序。 一点背景: 我在foreach语句中,该语句循环遍历“category”id的自定义分类法。在该foreach语句中,我试图调用一个新的WP_查询,从该foreach循环的每个“类别”获取帖子。我的args数组如下所示: 和都是此post\u类型中我的自定义分类中的数组。 和根本不起作用,我想不出原因。

  • 文档: 操作: 合作伙伴: HQL(“INCASAT”=“兑现”,“VANDUT”=“出售”):

  • 问题内容: 如果我有一个包含以下字段的表格 我将如何编写查询以返回每个的最新/前3个项目(基于)。 因此,结果可能看起来像 返回特定的最新项目很容易,但是我只是不认为如何针对上述情况进行操作。我也觉得它应该死得很简单! 编辑: 抱歉,我错过了一些关键信息。这是针对SQL2000的,因此无法使用! 问题答案: 对于SQL 2000,我建议升级到受支持的平台。 但是如果你坚持的话。

  • elasticsearch实例的一些背景: 一个节点,在一台机器上 特定索引由大小为1.23TB的26亿文档组成 索引被分成4个碎片。 堆大小设置为30 GB 服务器有256GB内存和40个内核。 Elasticsearch(版本1.4.3)是这个服务器上唯一运行的东西 我想返回所有具有特定名称的文档。属性名称已映射为: 我尝试过使用不同类型的搜索;过滤器、查询字符串、术语。结果都一样。当前查询如

  • Firebase查询返回此查询的值 该项由model类捕获 但是,返回null