比方说,我们有如下表“文章”:如何在mysql中返回JSON字符串的值
id_article | article_title
1 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
2 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
3 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
4 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
5 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
6 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
7 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"}
而且我们说,我们也有如下表“看到”:
id_seen | id_item_seen
1 | 3
2 | 5
3 | 5
4 | 3
5 | 3
6 | 3
7 | 3
8 | 2
9 | 2
10 | 4
11 | 1
12 | 7
13 | 7
我执行下面的SQL查询:
select articles.id_article, articles.id_article, count(*) as seens from seen
inner join articles on articles.id_article = seen.id_item_seen
group by articles.id_article
order by seens desc
这将返回以下结果:
id_article | article_title | seens
1 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 1
2 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 2
3 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 5
4 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 1
5 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 2
6 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 0
7 | {"ar":"Arabic value", "en":"English value", "tr":"Turkish value"} | 2
这是好的,但我想不是所有的返回存储的JSON {}的,但所需的关键的只是一个特定值(例如:“AR”),如下所示:
1 | Arabic value | 1
2 | Arabic value | 2
3 | Arabic value | 5
4 | Arabic value | 1
5 | Arabic value | 2
6 | Arabic value | 0
7 | Arabic value | 2
我知道我们可以用PHP使用json_decode()函数来做到这一点,但是我们怎样才能用SQL查询来实现呢?
你的MySQL版本? – Mihai
我的MySQL版本是5.6.35 –