gpt4 book ai didi

mysql - 对多列进行分组的单个列的计数

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

我有两列 account_number 和 customer_id。一个客户可以有多个账户,但一个账户不能有多个客户。

我已经通过 LOAD DATA INFILE 命令将包含 account_num 及其对应的 customer_id 的文件转储到 db。现在我正在尝试通过查询验证文件中多次出现的任何帐户是否在两个不同的行中具有相同的 customer_id 或不同的 customer_id。

要求:我想退回那些多次出现但具有不同客户 ID 的帐户

我尝试使用 group by ,但没有得到想要的结果。这是我的查询,没有给出预期的结果

SELECT ACCOUNT_NUM,UNIQUE_CUSTOMER_ID,COUNT(UNIQUE_CUSTOMER_ID) 
FROM LINKAGE_FILE
GROUP BY ACCOUNT_NUM, UNIQUE_CUSTOMER_ID
HAVING COUNT(ACCOUNT_NUM) > 1 AND COUNT(UNIQUE_CUSTOMER_ID) = 1;

希望我清楚。

最佳答案

您可以使用 COUNT(DISTINCT..) 为每个 account_num 简单地获取唯一客户 ID 的计数,并在内部过滤掉计数大于 1 的情况HAVING 子句:

SELECT
ACCOUNT_NUM,
COUNT(DISTINCT CUSTOMER_ID) AS unique_customer_count
FROM LINKAGE_FILE
GROUP BY ACCOUNT_NUM
HAVING unique_customer_count > 1

关于mysql - 对多列进行分组的单个列的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870277/

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