Доброго времени суток товарищи! В очередной раз нужна ваша скорая помощь 8)
Есть sql запрос:
SELECT
`resources`,
`command`,
`timestamp`
FROM
`command`
WHERE
(
(
(`user_id` = 1000196805)
AND (
`command`.`resources` LIKE '%\"14\":%'
)
)
AND (`timestamp` >= 1439856000)
)
AND (`timestamp` <= 1439942400)
ORDER BY
`timestamp` DESC
Который выводит такой результат:
{"2":61,"14":"24"}, energize, 1439856776.5546
{"2":61,"14":24}, buy, 1439856776.0372
{"2":61,"14":25}, energize, 1439856775.2379
Вопрос, как сделать так, чтобы результат был бы такой:
{"2":61,"14":24}, energize, 1439856776.5546
{"2":61,"14":25}, energize, 1439856775.2379
(Строка {"2":61,"14":24}, buy, 1439856776.0372 удалена, т.к. "14":24 встречалось 2 раза)
Временное решение:
SELECT
DISTINCT
`resources`,
`command`,
`timestamp`,
REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(resources, ',', 2), ',' , -1 ), ':', -1), '"','') as dist
FROM
`command`
WHERE
(
(
(`user_id` = 1000196805)
AND (
`command`.`resources` LIKE '%\"14\":%'
)
)
AND (`timestamp` >= 1439856000)
)
AND (`timestamp` <= 1439942400)
GROUP BY dist
ORDER BY
`timestamp` DESC