在 PHP 或 MySQL 中对小数进行排序

2024-03-23

我正在开发一个分类账应用程序。我的主要问题是我的客户有这样的代码的会计科目表

1.1.1, 
1.1.2 
...... 
1.1.10, 
1.1.11,
.........

使用 PHP 或 MySQl 我只能设法将它们排序

1.1.1, 
1.1.10, 
1.1.11,
1.1.2, 
.......

有关如何排序以便 1.1.10 排在 1.1.9 之后的任何帮助吗?

提前致谢。


这很丑陋,但它会起作用:

ORDER
   BY SUBSTRING_INDEX(CONCAT( col ,'.'),'.',1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',2),'.',-1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',3),'.',-1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',4),'.',-1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',5),'.',-1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',6),'.',-1) + 0
    , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',7),'.',-1) + 0

要测试这些表达式,您可以在 SELECT 中使用它们并验证它们提取了正确的组件,并且它们的顺序正确:

SELECT col
     , SUBSTRING_INDEX(CONCAT( col ,'.'),'.',1) + 0 AS p1
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',2),'.',-1) + 0 AS p2
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',3),'.',-1) + 0 AS p3
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',4),'.',-1) + 0 AS p4
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',5),'.',-1) + 0 AS p5
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',6),'.',-1) + 0 AS p6
     , SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT( col ,'.'),'.',7),'.',-1) + 0 AS p7
  FROM mytable 
 ORDER BY 2,3,4,5,6,7,8

我不会解释它是如何工作的,而是要介绍重要的“技巧”

  • 附加一个尾随“.”在山口的末尾,你需要它,这样你就不会多次返回最后一个位置,

  • 使用 SUBSTRING_INDEX 检索最多 n 个“.”的部分

  • 使用 SUBSTRING_INDEX 检索其尾随部分(向后读取,到前导点

  • 添加零,将字符串转换为数值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 或 MySQL 中对小数进行排序 的相关文章

  • mysql 将 varchar 字段排序为整数

    我的表中有一个 varchar 字段 我想对其进行排序 但我需要将此字段作为整数处理 意思是如果按文本排序 顺序是 19 2 20 但我想得到正确的顺序 2 19 20 谁能帮我 我不知何故没有设法运行查询CAST 我总是得到Error C
  • 删除除一行之外的所有具有重复值的行

    我有一个包含三列的表 KEY VALUE and LAST UPDATED 有重复的VALUE字段 我想删除所有具有相同的行VALUE和其他人一样except获取最新更新的信息 因此 如果表包含这些行 1 A 2013 11 08 2 B
  • 使用 Poedit 创建 POT 文件

    我正在拼命地尝试为我的 php 新应用程序创建一个目录 in 1 我创建了一个文件 trans php 其中放置了所有要翻译的值 例如 这是我的文件 2 我打开Poedit 在 路径 中这是我输入的内容 见图 然后我保存文件 php 的相同
  • 如何获取wordpress中文件的本地路径

    由于在wordpress中 上传的文件 图像以3种不同的大小存储 从而占用内存 我有一个代码可以根据给定图像的 URL 来调整图像的大小 调整大小的代码是 img wp get image editor image url if is wp
  • 如何用PHP读取图像?

    我知道 localfile FILES media tmp name 如果使用 POST 方法 将获取图像 我正在尝试读取与我的代码位于同一目录中的图像 我如何读取它并将其分配给像上面这样的变量 您发布的代码不会读取图像数据 而是读取其文件
  • 如何在 phpstorm 中自动生成类的属性?

    如果我实现一个类 它注入一些服务 我必须编写大量代码
  • Laravel 9.x 登录应用程序时目标类不存在错误

    尝试为管理面板制作一个登录应用程序以轻松编辑网站的其余部分 我有一个名为AuthController它执行多种操作 例如登录 注销 我决定只使用一个 而不是使用两个不同的控制器 当我去 login在我的浏览器上它返回Target class
  • 会话劫持和 PHP

    让我们只考虑服务器对用户的信任 会话固定 为了避免我使用的固定session regenerate id 仅在身份验证中 login php 会话侧劫持 整个站点的 SSL 加密 我安全吗 阅读 OWASPA3 破坏的身份验证和会话管理 h
  • Laravel Eloquent 多对多查询 whereIn

    在我的应用程序中 我更新了关系one to many to many to many我正在尝试找出一种方法来保留相关功能 假设我有两个相关的表 例如狗和主人 如果我有很多主人 并且我想获取这些主人的狗 ID 列表 我应该如何雄辩地做到这一点
  • 在浏览器中就绪的 DOM 上缺少语言翻译弹出窗口:Laravel 5.2

    我的控制器中有以下代码 public function AllCountries Countries new App DataAccess CountryData gt GetAllCountries app gt setLocale fr
  • 从其他域发送电子邮件而不是垃圾邮件

    这个问题问了一遍又一遍 仍然没有好的解决方案 当有人使用 php 发送电子邮件并将另一个域放在 from 中时 它最终会成为垃圾邮件 解决方案通常是 使用您的 发件人 并将您想要的域名放入 回复 中 将您的域列入主要邮件服务的白名单 第一个
  • 无法在Phalcon php中调用除indexAction之外的indexController的操作

    我的 xampp htdocs 目录中有一个名为 phalcon 的简单项目 并且我将 apache 配置为指向该文件夹 以便我可以在浏览器中转到 phalcon 当我尝试打开索引 默认 以外的索引控制器视图时 会出现问题 例如 我在索引控
  • 检测 MySQL 中的 utf8 损坏字符

    我有一个数据库 其中有一堆损坏的 utf8 字符分散在多个表中 字符列表不是很广泛 AFAIK 修复给定的表非常简单 update orderItem set itemName replace itemName 但我无法找到检测损坏字符的方
  • empty() 在对象的非空属性上返回 TRUE

    我遇到了一个非常奇怪且意想不到的问题 empty 正在返回TRUE由于我不知道的原因 在一处非空的房产上 class MyObject private property public function construct property
  • Java 日期和 MySQL 时间戳时区

    我正在编辑一段代码 其基本功能是 timestamp new Date 然后坚持下去timestamp中的变量TIMESTAMPMySQL 表列 然而 通过调试我看到Date显示在正确时区的对象 GMT 1 当持久化在数据库上时 它是GMT
  • MySQL 错误 1264:列的值超出范围

    As I SETMySQL 中的 cust fax 表如下所示 cust fax integer 10 NOT NULL 然后我插入这样的值 INSERT INTO database values 3172978990 但随后它说 错误 1
  • 关于如何在 PHPUnit 中使用 setUp() 和tearDown() 有真实的例子吗?

    Methods setUp and tearDown 在每次测试之前和之后调用 但实际上 有没有任何真实的例子说明我为什么需要这个 检查其他人的测试 我总是看到类似的东西 public function setUp this gt test
  • 使用 htaccess 文件重定向[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Edit 我想重定向一个网址 to www example com location sydney from www example com rss
  • mysql 无法向用户授予权限,出现错误:ERROR 1819 (HY000): 您的密码不满足当前策略要求

    我正在将一个新应用程序迁移到包含 MySQL 数据库的生产环境 尝试使用以下命令授予所需权限时 GRANT ALTER CREATE ON MyDB to ThisUser 我收到错误 ERROR 1819 HY000 Your passw
  • SplFileObject + LimitIterator + 偏移量

    我有两行数据文件 两行仅用于我的示例 实际上 该文件可以包含数百万行 并且我使用 SplFileObject 和 LimitIterator 进行偏移 但这种组合在某些情况下会有奇怪的行为 offset 0 file new SplFile

随机推荐

  • 汇总数据框忽略重复

    我有一个数据框 其中一列中有重复的条目 我想根据该专栏总结其他专栏 我希望摘要在进行摘要时考虑每个唯一条目而不是总数 例如 在下面的数据框示例中 如果我想回答以下问题受访者中有多少人是年轻人 中年人和老年人 RefID 1 1 在总结 ag
  • 如何解决错误:预期标识符或“(”

    我正在编程的东西有问题 我一遍又一遍地收到这个错误 jharvard appliance Dropbox pset1 make mario clang ggdb3 O0 std c99 Wall Werror mario c lcs50 l
  • (obj == null) vs (null == obj)?

    我的老板说我应该使用null obj 因为它比obj null 但他不记得为什么要这样做 有什么理由使用null obj 我以某种方式感觉到了 相反 经过谷歌搜索后 我唯一发现的是 在 C 中 它可以防止您意外地在条件结构中键入 obj n
  • iPhone文档文件夹库/缓存安全问题

    我开发了一款iOS应用程序 出于安全原因 我将所有音频 视频文件下载到下的 Documents 文件夹中库 缓存 对于使用 iTunes 最终用户无法备份此视频 但有些外部软件很容易打开库 缓存并从此文件夹下载所有文件 我的问题是如何保护此
  • 如何在IntelliJ 2021.2.2中使用Lombok插件?

    我是从 C 开始接触 Java 的 我一直在努力熟悉这门语言 我正在尝试使用 IntelliJ IDEA 的 lombok 插件 但它似乎根本不适合我 这是我的IDEA无法识别 value 注释的屏幕截图 https i stack img
  • 您能否将多个不同的值类型分配给重复的 Protobuf 消息中的一个字段?

    我正在尝试对客户端进行逆向工程 该客户端将音频文件上传到服务器 然后在单独的请求中上传文件的元数据 元数据在 Protobuf 中序列化 并且使用相当简单且可读的结构 这是之后的样子protoc decode raw 1 1 title 2
  • 对 Django 模板中的相关项目进行排序

    是否可以对 DJango 模板中的一组相关项目进行排序 即 这段代码 为了清楚起见 省略了 HTML 标签 for event in eventsCollection event location for attendee in event
  • laravel 一个帐户下有多个电子邮件地址

    我的 Laravel 应用程序要求用户可以拥有多个可用于登录的电子邮件地址 我的问题是 如何允许用户在一个帐户下拥有多个电子邮件地址 我必须记住 每封电子邮件只能由一个用户使用 我的想法是为电子邮件创建一个单独的表 其中包含用户 ID 我仍
  • delphi 7 中的 utf8 解码

    我需要使用 delphi 7 将字符串从 utf8 转换为宽字符串 谁能告诉我为什么下面的代码在delphi 7中不起作用 Utf8Decode 函数的参数只是一个示例 var ws WideString begin ws Utf8Deco
  • C# 如何杀死阻塞的线程?

    我有一个线程 void threadCode object o doStuffHere o Blocking call Sometimes hangs 我这样称呼它 Thread t new Thread new ThreadStart d
  • 如何在 Keras 中定义自定义精度以忽略具有特定金色标签的样本?

    我想在 Keras 中编写一个自定义指标 我正在使用张量流后端 相当于categorical accuracy 但是具有特定金色标签的样本的输出 在我的例子中是 0 来自 y true 必须被忽略 例如 如果我的输出是 预测 1 金 0 预
  • 如何验证 angular2 中的 FormArray 长度

    我有一个 angular2 数据驱动形式 如下所示 this formBuilder group name Validators required description Validators required places this fo
  • android: 需要为元素 显式指定导出

    我在 AndroidManifest xml 中遇到 Flutter 构建错误 android exported 需要为元素 显式指定 面向 Android 12 及更高版本的应用需要指定 显式值android exported当相应的组件
  • 直接调用分配给对象属性的闭包

    我希望能够直接调用分配给对象属性的闭包 而无需将闭包重新分配给变量然后调用它 这可能吗 下面的代码不起作用并导致Fatal error Call to undefined method stdClass callback obj new s
  • Ruby 中的“sys.stdout.write()”等价物是什么?

    正如 Python 中所见 什么是sys stdout write Ruby 中的等价物 在 Ruby 中 您可以使用以下方式访问标准输出 stdout or STDOUT 所以你可以使用write http ruby doc org co
  • NLP 中的否定处理

    我目前正在开发一个项目 我想从文本中提取情感 由于我使用的是conceptnet5 一种语义网络 因此我不能简单地在包含否定词的句子中添加单词前缀 因为这些单词根本不会出现在conceptnet5 的API 中 这是一个例子 这部电影不太好
  • 带有内存缓存的 async/await 的线程安全

    我正在查看有关内存屏障的部分 如中所述http www albahari com threading part4 aspx http www albahari com threading part4 aspx并尝试制作 我们真的需要锁和屏障
  • 为什么 C4062 Visual C++ 警告默认关闭?

    根据 MSDN Visual C 可以发出C4062 警告 http msdn microsoft com en us library fdt9w8tf aspx when 枚举用于switch and 该枚举的至少一个元素没有标签 并且
  • 扩展自定义验证类

    我最近一直在尝试 Laravel 4 并尝试让自定义验证类发挥作用 验证类
  • 在 PHP 或 MySQL 中对小数进行排序

    我正在开发一个分类账应用程序 我的主要问题是我的客户有这样的代码的会计科目表 1 1 1 1 1 2 1 1 10 1 1 11 使用 PHP 或 MySQl 我只能设法将它们排序 1 1 1 1 1 10 1 1 11 1 1 2 有关如