gpt4 book ai didi

mysql - Mysql中使用where子句获取重复记录

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

我有一张 table

Sno|PID |Tests|Result
1 1001 HB 10
2 1001 HB 12
3 1001 TEMP 98
4 1002 TEMP 98
5 1002 HB 120
6 1003 TEMP 98

查询 1 - 我只需要 Test - HB 执行次数超过 1 的记录。在上述情况下,输出将是前两行。 {我需要重复的行}

我正在尝试使用以下查询,但不起作用

SELECT  PID,test_name, COUNT(MRN) AS dup
FROM `report` WHERE Tests = 'HB' GROUP BY Tests HAVING dup > 1

查询 2 - 我只需要那些根本没有完成 Test - HB 的记录。在上述情况下,输出将是最后一行。 PID - 1003

谢谢

最佳答案

这是执行此操作的一种方法:

SELECT r1.*
FROM report r1
WHERE
Tests = 'HB' AND
Sno IN (SELECT Sno FROM report r2
WHERE Tests = 'HB' GROUP BY Sno HAVING COUNT(*) > 1);

对于第二个要求,您可以尝试:

SELECT r1.*
FROM report r1
WHERE
Tests <> 'HB' AND
NOT EXISTS (SELECT 1 FROM report r2
WHERE r2.PID = r1.PID AND r2.Tests = 'HB');

关于mysql - Mysql中使用where子句获取重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59797319/

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