php - 我需要 mysql 正则表达式来获取分辨率宽度等于或大于的那些记录

标签 php mysql

图像表

ID      IMG          Resolution
1       img1         1920x1080
2       img2         1366x768
3       img3         1366x768
4       img4         1920x1200
5       img4         1924x1200

在我的例子中,我只想匹配宽度 [1920x1200] = [width x height] 我只想要那些宽度等于或大于 1920 的记录

$sql = "SELECT * FROM images WHERE resolution>= REGEXP{}";

在我的例子中,它应该只返回分辨率大于或等于 1920 的记录

ID      IMG          Resolution
1       img1         1920x1080
4       img4         1920x1200
5       img4         1924x1200

最佳答案

你应该修复你的数据结构,所以分辨率存储在两列中。毕竟,它代表两个数字,而不是字符串标签。

你可以做你想做的事,但使用正则表达式并不容易:

where substring_index(resolution, 'x', 1) + 0 >= 1920

这会将第一个数字转换为数字,然后进行比较。

关于php - 我需要 mysql 正则表达式来获取分辨率宽度等于或大于的那些记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42832345/

相关文章:

php - 在 PHP 中使用 Nominatim 进行反向地理编码

mysql - 将latin1数据库转换为utf-8

PHP:日期函数错误 -> 列数不匹配

java - 如何使用 Scanner user_input ResultSet 中的整数变量在 Java 中选择特定的 MySQL 行?

php - mysql_query返回true而不是Resource

php - 搜索两个表

php - 文本文件中的递增数字

php - mysql查询最新日期

php - 将数组结果中的值存储到 codeigniter 中的变量

mysql - 计算间隔之间的行数