mysql - 选择数组内爆中映射 id 的位置

标签 mysql

+---------+----------+-----------
|   id    |   value  |  map_id  |
+---------+----------+-----------
|    1    |   avcne  |   1,2,3  |
+---------+----------+-----------
|    2    |   fdhsj  |   5,6,7  |
+---------+----------+-----------
|    3    |   kqrno  |   8,9,0  |
+---------+----------+-----------

从上表

SELECT value FROM table_above where map_id = 2

那么结果将是“avcne”。

SELECT values FROM table_above where map_id = 6

那么结果将是“fdhsj”。

有没有更好的方法来做到这一点而不使用 %-%比如

SELECT value FROM table_above where map_id = %2%

提前致谢。

注意:这仅适用于临时表。

最佳答案

MySQL 的 find_in_set这正是您正在寻找的:

SELECT value FROM table_above WHERE FIND_IN_SET(2, map_id)

关于mysql - 选择数组内爆中映射 id 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31907638/

相关文章:

c# - LINQ to SQL 多表左外连接

php - 计算数据库中的唯一记录数

php - 使用 ajax、php 和 mysql 自动保存

mysql - 从非常大的表中导出逗号分隔的数据

mysql - PDO构造函数非常慢(mysql)

php - SQL查询有两个条件,更新匹配的一个

mysql - 如何在Spring Boot中实现MYSQL的case功能

mysql - 解释字符集如何影响存储/显示

mysql - php邮件函数多个电子邮件和mysql_fetch_array

mysql - SQL语句where in不起作用