php - 如何对Mysql数据进行排序(f21.1,f23)

标签 php mysql sorting

我正在从 mysql 中提取数据到 php 脚本 我需要对一些特定的数据进行某种方式的排序,我的数据如下:

  • f102
  • f101.1
  • f21.1
  • f24
  • f203

我需要它这样排序

  • f21.1
  • f23
  • f101.1
  • f102
  • f203

我已经尝试了很多不同的东西,但我似乎无法通过整个“。”事情,忽略“f”也可以,因为我只需要它进行数字排序。

我的 SQL 是:"SELECT navn FROM grupper ORDER BY navn"

最佳答案

Here is your solution

SELECT navn
 FROM
grupper
 ORDER BY CAST(SUBSTRING(navn,2) AS UNSIGNED) ASC

步骤如下:

Step 1 : Select your desired field navn
Step 2 : Select SUBSTRING without char f from string navn
Step 3 : Convert SUBSTRING to UNSIGNED INT
Step 4 : ORDER BY UNSIGNED int ASC or DESC as your need

关于php - 如何对Mysql数据进行排序(f21.1,f23),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796470/

相关文章:

php - 如何使用注解在 Doctrine 2 集合上首先排序 NULL 值?

Mysql交叉表查询百分比计数?

mysql - 尝试导出/导入 Xenforo 数据库

java - 在 ubuntu 上使用 Connector/J 连接 MySQL 和 Java 时出错

php - 在 Mysql 中构建标签搜索引擎 - 排序问题

javascript - PHP 作为 Javascript,获取参数

php - 将 i18n 添加到 Web 应用程序的最佳方法是什么?

php - 如何用日期排序合并两个表MySQL-PHP

php - 如何按点对这个多维数组进行排序?

php - 当我运行此示例时,浏览器上显示意外的奇怪代码