2013-10-13 33 views
0

我有一個MySQL的小問題。這是我的情況:JSON解析在MySQL中選擇

我有一個名爲items的表,其中包含一個名爲fields的列,其中包含JSON數據。這是值的外觀:

example row1: [{"id":"1","value":"1"},{"id":"2","value":"2"},{"id":"3","value":"1"}] 
example row2: [{"id":"1","value":"1"},{"id":"2","value":"7"},{"id":"3","value":"1"}] 

我的查詢應該是這樣的:

SELECT * FROM `items` WHERE `fields` has {"id":"2","value":"2"} 

這:

SELECT COUNT(*) FROM `items` WHERE `fields` has {"id":"2","value":"2"} 

但我不知道如何做到這一點。最大的問題是這個速度很快,因爲我的行數很大。如果你能在這裏幫我或給我一個信息的鏈接,我試着搜索,但我發現common_schema的方法,但人們說這些方法很慢,這將是非常好的。提前致謝!

+0

非常非常糟糕的表結構。 –

+0

@echo_Me我知道,但我沒有做到。現在我是一個必須解決這個問題的人。 –

回答

0

我覺得這是一個比較接近解決方案:

SELECT COUNT(*) FROM `items` WHERE `fields` like '%"id":"2","value":"2"%' 

(它是空白敏感...)

+0

嗯,我想這是唯一的選擇。謝謝! –