Группировать по значению массива из текстового поля, используя mysql - PullRequest
0 голосов
/ 11 июня 2018

У меня есть таблица 'my_data'

Структура таблицы

и поле 'input' в качестве текста типа.И я сохранил значение массива в этом поле следующим образом

array (
  'msisdn' => '99999999999',
  'keyword' => '',
  'serviceid' => '0011001100',
  'productid' => '111000111',
  **'mode' => '02',**
  'cli' => '0000',
  'txnid' => '000000403401806110710441878004',
  'startdate' => '2018-06-06 14:51:45',
  'enddate' => '2018-06-12 00:00:00',
  'type' => 'subscription',
  'renewalon' => '2018-06-12 00:00:00',
  'lastrenewalon' => '2018-06-11 13:06:52',
  'fee' => 2.44,
  'status' => '0',
  'linkid' => '',
) 

Теперь, как я могу получить группу значений по 'mode' из значения массива, используя mysql

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете объединить две функции SUBSTRING_INDEX , чтобы сначала получить подстроку после 'mode', а затем получить подстроку перед ,'cli':

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(a, "'mode'", -1), ",'cli'", 1) AS group_condition

Вставить текст поля вместо a.Тогда вы можете использовать group_condition в предложении GROUP BY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...