gpt4 book ai didi

mysql - 如何检查mysql中是否有一些录音具有相同的名称,但它们的类型不同

转载 作者:行者123 更新时间:2023-11-29 06:27:16 27 4
gpt4 key购买 nike

有一个表,有 97972561 行(记录)和 4 列(属性)。格式如下:

+------+-------------+-------------+-------------+
| PMID | SUBJECT_NAME| SUBJECT_TYPE| Sentence_ID |
+------+-------------+-------------+-------------+

我想检查是否有一些主题具有不同类型的相同名称。例如一个表中有3条记录:

+------+-------------+-------------+-------------+
| PMID | SUBJECT_NAME| SUBJECT_TYPE| Sentence_ID |
+------+-------------+-------------+-------------+
| 1 | Bob | F | 1 |
+------+-------------+-------------+-------------+
| 2 | Bob | B | 2 |
+------+-------------+-------------+-------------+
| 3 | Bob | F | 3 |
+------+-------------+-------------+-------------+

我不关心有多少个案例,只是想检查是否有两个录音具有相同的 subject_name,但不同的 subject_type。任何帮助将不胜感激!

最佳答案

我将按主题名称聚合,然后断言最大和最小类型不同:

SELECT SUBJECT_NAME
FROM yourTable
GROUP BY SUBJECT_NAME
HAVING MIN(SUBJECT_TYPE) <> MAX(SUBJECT_TYPE);

请注意,我编写 HAVING 子句的方式使其可控制,这意味着 SUBJECT_TYPE 上的任何索引都可能被使用。以下索引可能会加速此查询:

CREATE INDEX idx ON yourTable (SUBJECT_NAME, SUBJECT_TYPE);

关于mysql - 如何检查mysql中是否有一些录音具有相同的名称,但它们的类型不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com