选择数组内爆中的映射ID的位置

时间:2015-08-09 18:44:40

标签: mysql

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

FROm上面的表格

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%

提前致谢。

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

1 个答案:

答案 0 :(得分:0)

MySQL的find_in_set正是您所寻找的:

SELECT value FROM table_above WHERE FIND_IN_SET(2, map_id)