Получить позицию строки, разделенную запятой

У меня есть строка в моей таблице 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
Другие вопросы по тегам