MYSQL - 如何查找一个字段中具有相同数据但另一个字段中具有不同数据的寄存器?

问题描述 投票:0回答:1

我正在尝试在我的数据库中识别哪些用户正在使用其他用户的“ID”。

我的数据库:

ID | NAME | CARDNUMBER | SHOPNUMBER 
1    JO      1234         73839
2    ANDY    9876         79487
3    KARL    5432         87399
4    MIKE    1234         53637

我需要找到谁使用相同的卡号但不同的姓名。 这是 JO 和 MIKE(卡号 1234)

我知道“MIKE”是一个固定名称 - 但我不知道如何找到其他名称。

ID | NAME | CARDNUMBER | SHOPNUMBER 
1    JO      1234         73839
2    ANDY    9876         79487
3    KARL    5432         87399
4    MIKE    1234         53637
5    MIKE    5432         93890
6    MIKE    1234         34949
7    GORDON  7389         23339
8    ALEX    8390         28889
9    MIKE    7389         29800

Mike 正在克隆 ID,我需要找出哪些 ID。

(我有 50K 个由卖家创建的“FakeId” - 但 ID 字段是必需的,因此这些销售使用的 ID 可能是真实客户。当真实客户提取他的数据时 - 他也会提取“假销售”。) = Mike 是数据库中的“NAME SURNAME”。

我尝试选择,但我不知道如何找不到这些字段

丹尼尔

mysql select asp-classic
1个回答
0
投票

我们根据卡号字段进行分组,并选择使用多于一张的卡。然后我们按升序列出他们的 id、name、cardnumber 字段。您可以从这里看到多次使用的卡号。

SELECT ID, NAME, CARDNUMBER
FROM MY_DB
WHERE CARDNUMBER IN (
    SELECT CARDNUMBER
    FROM MY_DB
    GROUP BY CARDNUMBER
    HAVING COUNT(*) > 1
) ORDER BY CARDNUMBER ASC;

    
© www.soinside.com 2019 - 2024. All rights reserved.