Mysql 选择一列中具有相同值而另一列中具有不同值的行

2024-01-12

如果有人可以验证我的 SQL 查询,我将非常感激。

对于以下数据集:

MD5      UserPK      CategoryPK    
ADCDE    1           7  
ADCDE    1           4  
ADCDE    1           7  
dffrf    1           7  
dffrf    2           7  
dffrf    2           6 
dffrf    1           1 

我想选择 MD5 和 CategoryPK,其中存在两行或更多行具有相同的 MD5 值、相同的 CatgegoryPK 和两个或更多不同的 UserPK 值。

换句话说,我想知道两个或多个不同用户(UserPK)将相同类别(UserPK)分配给同一文件(Md5)的所有记录的MD5和categoryPK。我对同一用户多次分配类别的记录不感兴趣(除非不同的用户也向该文件分配相同的类别)。

所以从上面的数据来看,我只想返回:

md5    CategoryPK
dffrf  7

我写的查询是:

SELECT md5, 
       count(md5), 
       count(distinct categorypk) as cntcat, 
       count(distinct userpk) as cntpk
FROM Hash
       group by md5 having count(md5) > 1 
                           and cntpk > 1
                           and cntcat = 1;

它似乎有效,但在我开始愤怒地使用它之前,如果我错过了一些东西或者是否有更好的方法,我会很感激第二个意见。

Thanks


我不认为你的代码会给你你想要的东西;当多个用户为一个文件分配了多个类别且某些类别重叠时,会发生什么情况?然后cntcat != 1,所以你的HAVING即使文件确实被多个用户以相同的方式分类,子句也将无法匹配。

我会使用自连接:

SELECT   a.MD5, a.CategoryPK
FROM     Hash a
  JOIN   Hash b
      ON a.MD5 = b.MD5
     AND a.UserPK <> b.UserPK
     AND a.CategoryPK = b.CategoryPK
GROUP BY a.MD5, a.CategoryPK
HAVING   COUNT(DISTINCT a.UserPK) > 2  -- you said "more than 2" ?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql 选择一列中具有相同值而另一列中具有不同值的行 的相关文章

  • 将 Wamp 服务器升级到 MySQL 8.0.15

    因此 我最近在几个月前安装了 WampServer 并预装了 mySQL 5 7 但我想利用 mySQL 8 附带的 NoSQL 功能 为了更新它 我下载了最新的MySQL版本 将文件夹解压到wamp64的bin目录中 然后 我从 5 7
  • 在php中循环多维数组并执行mysql插入(股票数据)

    我有一个多维数组 我希望循环遍历它并为数组中的值执行 mysql 数据库插入 我需要插入到 sql 查询中的数组值是 candles 0 complete candles 0 volume candles 0 mid h candles 0
  • Mysql - 如何搜索26条以字母开头的记录?

    基本上 我正在尝试创建一个查询 该查询可以根据英语字母表中的字母 26 个字母 从表中检索 26 个单词 所以 苹果 香蕉 椰子 等等 我一直在使用 like a 所以 SELECT from word WHERE word name li
  • 高级 MySQL:查找民意调查响应之间的相关性

    我有四个 MySQL 表 users 身份证号 姓名 polls ID 文本 options id poll id 文本 回应 id poll id 选项 id 用户 id 给定一个特定的民意调查和一个特定的选项 我想生成一个表格 显示其他
  • 如何从准备好的语句中获取标量结果?

    是否可以将准备好的语句的结果设置为变量 我正在尝试创建以下存储过程 但失败了 第 31 行出现错误 1064 42000 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在 stmt USING m c a 附
  • 两个表之间可以有两种关系吗?

    有两个表 EMPLOYER 和 EMPLOYEE 由于每个 EMPLOYEE 都被分配给一个 EMPLOYER 因此他们之间存在 1 N 关系 简单的事情 但我也希望能够模拟一种情况 每个雇主都可以选择他的one最喜欢的员工 他最好什么也不
  • 无法将代码优先迁移应用到 mysql 数据库

    我正在使用 EF 代码优先模型开发 asp net mvc 我正在尝试首先使用 EF 代码将迁移应用到我的项目中 我正在使用 MySql 数据库 目前我使用的是 EF 4 3 1 版本和 6 6 4 0 版本的 mysql Connecto
  • 在 Entity-Framework Core 中批量插入到 MySQL [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个由约 10 000 个对象组成的列表 比方说类Person 我需要将其插入到 MySQL 表中
  • MySql 完全联接(联合)和多个日期列的排序

    一个相当复杂的 sql 查询 我可能使它变得更加困难 我有两张桌子 消息 newsid 日期时间 新闻文本 图片 图片ID 日期时间 imgPath 两者没有关系 我只是在新闻 图片创建的日期之前加入 到目前为止的 SQL SELECT F
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • 保存用户的身高和体重

    我应该如何将用户的身高和体重存储在MySQL数据库中 以便我可以使用这些信息来查找特定身高或体重内的用户 另外 我需要能够以英制或公制显示此信息 我的想法是存储以厘米为单位的身高和以公斤为单位的体重信息 我更喜欢公制而不是英制 我什至可以让
  • SQL Server到Mysql迁移(使用Mysql Workbench)数据传输错误

    我正在使用 Mysql Work bench 6 3 将数据库从 MS Sql server 2008 迁移到 Mysql 在 批量数据传输 期间出错并出现以下警告 这种情况仅发生在像 varchar char 这样的列类型上 当我尝试使用
  • vuejs 2.0.0 中选择的占位符

    我正在使用创建一个网络应用程序vuejs 2 0 https vuejs org guide forms html 我使用以下代码创建了简单的选择输入
  • 数据太长,导致列错误(包含国家字符)

    我必须移植一些DBS变成独立的MySQL版本 5 0 18运行于Windows 7 64 位我遇到了一个困扰我的问题 如果我尝试将任何国家 Unicode 字符插入varchar我收到错误 ERROR 1406 22001 Data too
  • 从 .frm 文件恢复 mysql 数据库

    我每周都会倾倒所有桌子以获得备份 但后来我明白它只是存储表的 frm文件 它不显示表的 MYD 和 MYI 文件 所以我只有我的数据库的 frm 文件 而且我的数据库是innodb 那么我可以用数据库中的数据获取我的数据库吗 是的 这是可能
  • Mysql - 如何比较两个 Json 对象?

    将整个 MySql json 列与 json 对象进行比较的语法是什么 以下不起作用 select count criteria from my alerts where criteria industries 1 locations 1
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • 如何将另一列的整数值添加到日期列?

    我试图将整数添加到日期 但出现以下错误 1064 你的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在第 6 行的 wp OrderDate INTERVAL WPProduct Duration DAY AS

随机推荐

  • Microsoft SQL Server Express:不再支持此版本的安装程序

    我正在尝试安装 Microsoft SQL Server 2019 Express 但我不断遇到上述错误消息 我最初在尝试安装时遇到了一条单独的错误消息 无法下载所需的文件 我按照以下线程中的说明进行操作 这解决了最初的问题 但现在出现了新
  • 我如何扩展 boost Spirit 语法

    问题是我编写了一个对某项任务有用的语法 但现在 任务发生了变化 我需要定义新的规则 但我不想修改我已有的语法而不是我想要的 喜欢创建一个新的语法 使用我现有的语法 无需代码 重复 所以我只需要定义我需要的新规则 我尝试过一些东西 像这样 但
  • 如何删除Windows中的长路径。

    将项目导入 Eclipse 时 它 以某种方式开始创建目录的递归版本 现在 当我尝试删除任何内容时 我收到消息 您指定的文件名太长 我无法从命令 shell 中删除它 我无法从资源管理器中删除它 我不能用它做任何事 我不知道 Eclipse
  • ss 命令显示 TIME_WAIT 而不是 CLOSE_WAIT,这在逻辑上不符合

    我试图理解 TIME WAIT 和 CLOSE WAIT 我已经通过 Chrome 控制台打开了一个套接字连接 该连接连接到本地运行的 Java WebSocket 服务器 然后将其关闭 var webSocket new WebSocke
  • 将gradle临时目录设置为SSD

    我正在使用带有 gradle 的 android studio 当我构建应用程序时 我注意到旋转硬盘工作量很大 所以我查看并看到 gradle 正在将临时文件写入变量定义的目录 在 Windows 8 1 中 TEMP or TMP在我的用
  • 从 Android 上传文件到 wowza

    我已经安装了 wowza 服务器并且能够使用 android 中的视频视图从客户端播放文件 现在我必须录制视频并且必须将文件上传到 wowza 服务器 如何编写服务器端应用程序 以及如何从 android 代码连接它 有人有这方面的经验吗
  • Stripe Connect PaymentIntent 错误:没有这样的 payment_intent

    我在 API 中使用 stripe connect 并且我想更新和处理现有的 paymentIntent 使用NodeJS stripe包创建 paymentIntent 成功 const paymentIntent await strip
  • 在 PyQt 中,如何将项目和所选项目保存在组合框中

    我填充组合框 用户选择其中一个选项 然后他们关闭一切 稍后 用户可能会再次打开窗口 要求他们重新输入并重新选择选项会很乏味 所以我想 加载 它们 我尝试使用 pickle 但显然出现与 Qt 相关的错误 self WordCardsFiel
  • 无法将用户添加到 Hyper-V 管理员组退出代码 2220

    我将 Windows 10 LTSB 与 Visual Studio 2015 结合使用 启用后Hyper V 我安装了独立的Visual Studio Emulator for Android Hyper V 运行良好 因为可以向其中添加
  • 无法获取资源“https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom”

    我最近开始使用 React Native 但是根据伊朗制裁 gradle 无法构建我的第一个项目 所以我使用了 VPN 也舍餐服务 https shecan ir 但我收到以下错误 我阅读了 React Native 说明并按照它们设置了模
  • 如何清空 Drupal 缓存(无需 Devel)

    如何清空 Drupal 缓存 without开发模块 无需在新节点等中运行一些 PHP 语句 无需进入数据库本身 实际上 您如何指示最终用户清除其缓存 当您以管理员身份登录时 显然 并非该网站的每个用户都有权清除缓存 应该有一个页面 管理
  • 将 FontAwesome 5.x 与 PrimeFaces 6.2+ 结合使用

    我正在检查这个问题 如何将 webjars org 中的 Font Awesome 与 JSF 结合使用 https stackoverflow com q 18891768 811293蚂蚁这个问题 FontAwesome 与 Prime
  • 如何在 HTTP 标头中设置 REMOTE_USER?

    我的 Apache 设置有问题 我安装了一个部分接受外部身份验证的 Web 应用程序 我使用 Apache 来管理对我的应用程序网页的访问 如果身份验证成功 环境变量 REMOTE USER 将设置为用户名 然后 用户名通过 HTTP 标头
  • 是否可以在请求中刷新会话?

    我使用创建一个会话requests Session 由于某种原因 服务器端关闭了此连接 所以我必须重新连接 问题是 这个会话在很多地方都使用 所以我想知道是否可以重建 TCP 连接但保留会话对象 以便我仍然可以使用它 Example s r
  • Google javascript API 库 - 日历手表通知

    我正在尝试使用 JS 客户端库订阅日历事件通知 如下所示 gapi client load calendar v3 function var request gapi client calendar events watch calenda
  • 代码契约[Type]实现接口方法{Interface.Method},因此无法添加要求

    我有以下场景 public interface ISomething void DoStuff public class Something ISomething private readonly ISomethingElse someth
  • ValueTypes会导致GC吗?

    如果我有堆栈分配的值类型 什么会清理它们 GC只是堆吧 If这些值位于堆栈上 然后当当前堆栈帧被 弹出 通过返回的方法 时 这些值将被有效地清理 不会调用任何终结器或类似的东西 但内存会用完这些值将在下次堆栈达到那么高时重用 请注意 值类型
  • 使用 PHP 上传到 S3 的 RequestTimeout

    我在从我们的一台服务器上将文件上传到 S3 时遇到问题 我们使用 S3 来存储备份 所有服务器都运行 Ubuntu 8 04 PHP 5 2 4 和 libcurl 7 18 0 每当我尝试上传文件时 亚马逊都会返回 RequestTime
  • 查找近似重复和伪造的图像

    我正在使用感知哈希技术来查找接近重复和完全重复的图像 该代码非常适合查找完全相同的重复图像 然而 找到近似重复和略有修改的图像似乎很困难 由于它们的哈希值之间的差异分数通常类似于完全不同的随机图像的哈希差异 为了解决这个问题 我尝试将几乎重
  • Mysql 选择一列中具有相同值而另一列中具有不同值的行

    如果有人可以验证我的 SQL 查询 我将非常感激 对于以下数据集 MD5 UserPK CategoryPK ADCDE 1 7 ADCDE 1 4 ADCDE 1 7 dffrf 1 7 dffrf 2 7 dffrf 2 6 dffrf