我有这段代码:
(SELECT COUNT(streams.id) FROM streams
WHERE JSON_CONTAINS(streams.server, '[\"servers.id"\"]')) AS streams_total
我有表中的streams.id值(1或2或3或4或5等),并希望使用上面的mysql查询此查询,以便它可以工作:
(SELECT COUNT(streams.id) FROM streams
WHERE JSON_CONTAINS(streams.server, '[\"1"\"]')) AS streams_total
所以我不知道如何将JSON_CONTAINS []
字段值放入以便它可以返回正确的值
我无法将值从mysql字段名称传递到JSON_CONTAINS
(因此使用field_name它会得到正确的值)....我错过了什么?
答案 0 :(得分:0)
我认为您应该在查询中应用一些更改,以获得正确的输出,如下所示 -
SELECT COUNT(streams.id) FROM streams
WHERE JSON_CONTAINS(`json`, '{"streams.server" : "1"}') AS streams_total
答案 1 :(得分:0)
我找到了解决方案:
(
SELECT COUNT(streams.id)
FROM streams
WHERE JSON_SEARCH(streams.server, 'all', servers.id) IS NOT NULL
) AS streams_total
现在它的工作原理......我正在使用节点js使用并行mysql处理,它的工作原理应该是...但我不熟悉时间响应什么是更快的JSON_SEARCH或JSON_CONTAINS。