比方說,我在MySQLMYSQL的問題 - 獲得獨特的價值
SET data1 = "1,2,3,apple,4,5";
SET data2 = "apple,orange,5";
這兩個變量如何獲得項目的數量,關於這兩個變量出現?
比方說,我在MySQLMYSQL的問題 - 獲得獨特的價值
SET data1 = "1,2,3,apple,4,5";
SET data2 = "apple,orange,5";
這兩個變量如何獲得項目的數量,關於這兩個變量出現?
如果你真的需要做到這一點在MySQL端,您可以創建在存儲過程(或存儲功能):
但這種方法實在是遠FR being優雅。將標籤存儲在單獨的表中(如上所述,每行一個標籤)更加可取。
謝謝,我決定使用不同的方法。 – gumpi 2010-11-04 11:41:04
無法分解列表和計算項目。只有這樣,才能爆發,在你的母語操縱值:在PHP
例子:
$values = mysql_result();
echo count(explode(",", $values));
另一種方法是把所有的標籤在一個單獨的表和數據透視表加入他們,然後你可以做這樣的事情:
select
count(*)
from
items
join
pivot on pivot.item_id = items.id
join
tags on pivot.tag_id = tags.id
where
item.id = {itemid}
我不確定我是否正確解釋你的問題,但它聽起來像你想要的是兩個變量(它們具有的共同值)的交集。那是對的嗎? – 2010-11-02 15:49:21
這是正確的。 – gumpi 2010-11-02 15:51:01
不確定SQL是否是字符串操作的最佳語言。這有一種反模式的氣味... – SWeko 2010-11-02 15:54:01