【发布时间】:2010-11-02 15:46:34
【问题描述】:
假设我在 MySQL 中有这两个变量
SET data1 = "1,2,3,apple,4,5";
SET data2 = "apple,orange,5";
如何获得这两个变量上出现的项目数?
【问题讨论】:
-
我不确定我是否正确解释了您的问题,但听起来您想要的是两个变量的交集(它们共同的值)。对吗?
-
不确定 SQL 是否是字符串操作的最佳语言。这有一种反模式的味道......
-
我正在尝试在数据库级别实现算法。我正在比较的功能之一是两个项目之间共享的标签数量。我不想使用临时表或直接访问表来比较这些标签,所以我想改用字符串比较,但不确定是否可能。
-
标签不应该在一个单独的表中,每行一个标签吗? SQL(任何风格)对于这些类型的操作来说真的很棒,但是对于内联字符串操作来说是一个巨大的 PITA。
-
MySQL 不包含任何分隔分隔字符串的功能,因此您将在此实现中遇到很多问题。你为什么不想直接访问标签表呢,这样会容易很多。
标签: mysql database function logic