php - MYSQL 选择一段字符串并按该段排序

标签 php mysql sql

我有一个包含此类信息的字段“web-1/1.,web-2/2.,web-3/3.,web-4/4.,web-5/5.”。其他寄存器可能有不同的值,例如“web-1/4.,web-2/5.,web-3/1.,web-4/2.,web-5/3”。

我想通过 web-2/来选择和排序?将是 web-2/1、web-2/2、web-2/3 等等所有包含 web-2 的字段并按最后一个数字排序

我想创建一个不同网站的特色属性脚本并指定功能编号。不同属性,不同网站不同顺序

最佳答案

我建议您查看 MySQL String Functions更具体地说 SUBSTRING_INDEX功能。我之所以建议这个而不是 SUBSTRING 是因为斜杠之前或之后的数字可能不止一个数字,这会使第一部分和/或第二部分的长度有所不同。

示例:

SELECT   `info`,
         SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
         SUBSTRING_INDEX(`info`, '/', -1) AS `second_part`
FROM     `table`
ORDER BY `first_part` ASC,
         `second_part` ASC;

结果:

Result

其他示例

在本例中,我使用的是 CAST将第二部分转换为无符号整数,以防它包含其他字符,例如符号或字母。换句话说,“web-4/15”的第二部分。将是“15”,“web-4/15****”的第二部分也将是“15”。

SELECT   `info`,
          SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
          CAST(SUBSTRING_INDEX(`info`, '/', -1) AS UNSIGNED) `second_part`
FROM     `table`
ORDER BY `first_part` ASC,
         `second_part` ASC;

关于php - MYSQL 选择一段字符串并按该段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6475936/

相关文章:

php - 尝试从 db php 获取随机数不起作用

php - 在 Wordpress 上启用漂亮的永久链接 - apache 配置不起作用

php - 添加到数据库时<li>变成<li>

php - 如何使用 MySQL 数据生成动态图表?

php - Codeigniter 房间预订表格验证

php - 无需重新加载页面即可更改的动态计数器

php - WordPress 计划事件未在设定时间触发

php - 与 MySQL 的连接速度更快?

sql - 如何将具有特定值的行 append 到我的 T-SQL 查询的输出?

mysql - 根据排名打印每年排名前 5 的剪辑