MySql 如果一行状态值为 5,则比较相同 table 中的行
MySql comapre rows in same table if one row status value is 5
Table结构
name
surname
phone
email
status
Jonh
Red
123
johnmail
5
Mary
Blue
333
marymail
0
Helen
Green
234
marymail
0
Jonh
Red
123
johnmail
0
我如何将这些行与姓名、姓氏、电子邮件和 phone 以及 select(显示)仅 Jonh Red 进行比较,因为该行存在两次并且其中一行的状态为 5?
提前致谢。
您可以在这里尝试聚合方法:
SELECT name, surname, phone, email
FROM yourTable
GROUP BY name, surname, phone, email
HAVING COUNT(*) > 1 AND SUM(status = 5) > 0;
这将 return 每个元组(无状态值)都重复出现并且至少有一个重复项的状态值为 5。
Table结构
name | surname | phone | status | |
---|---|---|---|---|
Jonh | Red | 123 | johnmail | 5 |
Mary | Blue | 333 | marymail | 0 |
Helen | Green | 234 | marymail | 0 |
Jonh | Red | 123 | johnmail | 0 |
我如何将这些行与姓名、姓氏、电子邮件和 phone 以及 select(显示)仅 Jonh Red 进行比较,因为该行存在两次并且其中一行的状态为 5?
提前致谢。
您可以在这里尝试聚合方法:
SELECT name, surname, phone, email
FROM yourTable
GROUP BY name, surname, phone, email
HAVING COUNT(*) > 1 AND SUM(status = 5) > 0;
这将 return 每个元组(无状态值)都重复出现并且至少有一个重复项的状态值为 5。