设置和获取交集的 MySQL 字符串

2024-01-12

我有一个错误投影的数据库,其中在文本列中设置了 ID,例如“1,2,5,10”。我需要获得以相同方式设置的两列的交集。 我不喜欢使用 PHP 或其他脚本语言来完成它,我也不喜欢 MySQL 自定义函数。 有没有办法获得由逗号分隔符字符串给出的两个集合的交集?

实际上我不需要完全交集,我只需要知道两组中是否有相同的数字。如果是,我需要有“1”,如果没有相同的数字,我需要有“0”。

谢谢。


您也许可以使用REGEXP通过一些巧妙的替换来做到这一点。

认为这应该可以做到(免责声明:尚未对其进行广泛测试):

SELECT col1,
       col2,
       CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS regex,
       col1 REGEXP CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS intersect
FROM tbl

See http://sqlfiddle.com/#!2/7b86f/3 http://sqlfiddle.com/#!2/7b86f/3

解释一下:这转换col2到正则表达式中进行匹配col1. The (\,|$)位与逗号或字符串末尾匹配。希望这可以帮助...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置和获取交集的 MySQL 字符串 的相关文章

随机推荐

  • 从另一个表和不同的数据库更新表

    基本上 我想做的是 我的第一个数据库 prc 中有一个表 users 如下所示 prc user id user 45 name user Test login user test pwd user test 在我的第二个数据库 名为 pr
  • 使用 awk 替换 CSV 文件中的列值

    我有这个文件 错误日志 00 00 00 284 501 00 00 00 417 5 5294100071980 00 00 02 463 501 00 00 05 169 501 00 00 05 529 501 00 00 05 73
  • Delphi - 通用 TList 排序

    我正在使用 Generics Collections TList 和 Sort 方法 它工作正常 但我想最后对空值或空值进行排序 按升序和降序排序 如何实施 这是我的排序功能 function TForm SortByColumn Colu
  • 按行项目条件更改 MudBlazor 表背景颜色

    我正在尝试更改 mudblazor 表中一行的颜色 问题是 我无法添加根据行元素的条件更改颜色的功能
  • WPF 中的 PagedCollectionView 等效项?

    net 3 5 或 4 0 中是否有像 Silverlight 中的 PagedCollectionView 这样的 WPF 等效类 不 没有 但你可以从这里获取 https silverlight svn codeplex com svn
  • 确定可能的项目组的算法

    我正在摸不着头脑试图做到这一点 这让我筋疲力尽 我知道事情没那么复杂 我有很多物品 这个数量可以等于或大于三 然后我需要确定完成总数的项目组的可能组合 唯一的限制是小组应该有三个或更多项目 不超过 但包括 七个项目 例如 如果我有 7 个项
  • 为单词的前 n 个字符添加下划线

    我想在链接中的单词的前几个字符下划线 类似于 CSS 第一个字母的工作方式 但字母数量可变 或者 在单词字母的前半部分下划线可能会很有用 有什么方法可以使用 HTML CSS 或 Javascript 相对简单地完成此操作吗 我不是开发人员
  • Uncrustify 折叠 多行函数调用

    我的函数调用如下所示 没有明显的原因 func a b c 有没有办法让 uncrustify 将函数折叠成一行 我已经尝试了两天了 没有断断续续的 我让它适用于函数声明 但我没有让它适用于函数调用 当我们这样做时 我也有如下所示的函数 f
  • 为什么是语句(j++);禁止?

    下面的代码是错误的 看一下关于ideone http ideone com vSoRsM public class Test public static void Main int j 5 j if we remove the and th
  • 地点选择器启动后关闭

    我无法从我的片段启动 Google 地点选择器 按照所有步骤和论坛查找根本原因 但无法解决我的问题 Links 谷歌地点选择器 https developers google com places android api placepick
  • 领域:谓词返回 LazyFilterCollection - 如何转换为 Results

    我正在过滤我的数据库查询NSPredicate直接在数据库上 但我想进一步过滤返回的值 Results
  • 在react-navigation createStackNavigator中使用mobx存储

    我想在react navigation中的createStackNavigator中使用Mobx存储变量 具体来说 我想使用商店动态更改初始路线 以便用户可以更改初始屏幕 这可能吗 一些东西在 const stack createStack
  • 使用现有的 InputStream 作为附件内容通过 javax.mail 发送电子邮件

    是否可以使用发送电子邮件javax mail并使用 现有的 InputStream对于电子邮件附件内容 目前我正在构建电子邮件消息 如下所示 final MimeMessage message new MimeMessage session
  • 将水印图像放置在其他图像上(C#、ASP.Net)

    如何将水印图像添 加到其他图像上 我可以将文本作为水印放置在图像上 但现在我想将图像而不是文本放在那里 我如何在 C 中执行此操作 再说一次 我有图像 X 我想将其用作水印符号 我希望这个符号出现在我的网站上显示的所有图像上 所以我将在图像
  • 将标准输入(读取主机)重定向到 Powershell 脚本

    这是一个示例 powershell 脚本 in read host prompt input write host in 这是一个示例 test txt 文件 hello 我们想通过piped从 powershell 输入 这是我尝试过的一
  • 高效地从字符串流中读取格式化行

    为了从文本文件加载大量顶点 我将整个文件加载到内存中 然后我想扫描每一行以查找三个浮点数 以下有效 但我想知道它是好还是浪费 std stringstream sstr sstr lt lt file rdbuf file is an if
  • C++ 函数参数采用指针的地址作为参数。这是如何使用的?它是做什么用的?

    想象一个这样的函数 function Human human Implementation 你能解释一下 到底是什么吗 它有什么用 与仅传递指针或引用有何不同 您能提供一个小的且具有解释性的样本吗 谢谢 它就像一个双指针 您通过引用传递指针
  • 多目标和多类预测

    我对机器学习和张量流比较陌生 我想训练数据 以便可以进行 2 个目标和多个类别的预测 这是可以做的事情吗 我能够为 1 个目标实现该算法 但不知道如何为第二个目标实现该算法 数据集示例 一年中的某一天温度流量能见度 316 8 1 4 28
  • browser.tabs.sendMessage(): 错误:接收端不存在

    我尝试运行上面给出的示例代码tabs sendMessage MDN 页面 https developer mozilla org en US Add ons WebExtensions API tabs sendMessage 所以我的代
  • 设置和获取交集的 MySQL 字符串

    我有一个错误投影的数据库 其中在文本列中设置了 ID 例如 1 2 5 10 我需要获得以相同方式设置的两列的交集 我不喜欢使用 PHP 或其他脚本语言来完成它 我也不喜欢 MySQL 自定义函数 有没有办法获得由逗号分隔符字符串给出的两个