gpt4 book ai didi

mysql - 根据 MySql 中的非唯一列查找行

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

给出下表:

Column1 | Column2
10 | 200
10 | 201
11 | 100
11 | 200
11 | 300
12 | 200
13 | 100
13 | 200
13 | 201
13 | 300

我希望提取所有行,其中 column2 包含每个唯一 column1 的值 200 和 201。输出应该是:

10      | 200 
10 | 201
13 | 200
13 | 201

该表包含大约 800 万行,我能想到的所有东西都相当慢。

最佳答案

使用:

SELECT
t.*
FROM
t
INNER JOIN
(SELECT
Column1
FROM
t
WHERE
Column2 IN (200,201)
GROUP BY
Column1
HAVING
COUNT(DISTINCT Column2)>1) AS c
ON t.Column1=c.Column1

- 但请注意,如果不是故意的,这将输出包含所有 Column2 值的行(即不仅是 200201),过滤它们:

SELECT
t.*
FROM
t
INNER JOIN
(SELECT
Column1
FROM
t
WHERE
Column2 IN (200,201)
GROUP BY
Column1
HAVING
COUNT(DISTINCT Column2)>1) AS c
ON t.Column1=c.Column1
WHERE
Column2 IN (200,201)

fiddle 可用 here .

关于mysql - 根据 MySql 中的非唯一列查找行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22982420/

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