Получить позицию строки, разделенную запятой
У меня есть строка в моей таблице SQL, которая выглядит следующим образом
Я хотел бы запустить запрос с find_in_set следующим образом:
list
------------
1,2,5,33,3,4
SELECT * FROM mytable WHERE FIND_IN_SET( id, list )
и получить позицию результата в новом поле
1 ответ
Решение
FIND_IN_SET() возвращает позицию значения id в списке, поэтому:
SELECT *,
FIND_IN_SET( id, list ) as position
FROM mytable
WHERE FIND_IN_SET( id, list )
или же
SELECT *,
FIND_IN_SET( id, list ) as position
FROM mytable
HAVING position > 0