比方说,我在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