gpt4 book ai didi

mysql - 使用 sql DISTINCT 获取唯一行列表

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

鉴于下表,我试图从 carCode 列中选择所有具有唯一电子邮件地址的条目。这个的 SQL select 语句是什么?我尝试了以下方法,但它似乎不起作用:

SELECT DISTINCT carCode, emailAddress, COUNT( * ) AS count
FROM myTable
WHERE (
carCode != ''
)
GROUP BY carCode;

这是表格列:

ID | carCode | emailAddress | fName | lName

并给出以下示例:

1 | cc001 | a@b.com | fname1| lname1
2 | cc001 | a@b.com | fname2 | lname2
3 | cc001 | b@b.com | fname3 | lname3
4 | cc001 | c@b.com | fname4 | lname4

只应返回第 1、3 和 4 行或第 2、3 和 4 行,因为第 1 行和第 2 行具有相同的代码和电子邮件地址。

请指教。

附言澄清一下,我正在尝试计算汽车代码的所有实例,但如果为同一汽车代码找到重复的电子邮件地址,则只计算该电子邮件地址一次。这是否阐明了我要实现的目标?

最佳答案

您需要一个 having 子句来消除第 1 行(它有重复项):

SELECT carCode, emailAddress, 1 as cnt
FROM myTable
WHERE carCode != ''
GROUP BY carCode, emailaddress;
having count(*) = 1

对于您修改后的问题,答案只是一组依据:

SELECT carCode, emailAddress, count(*) as cnt
FROM myTable
WHERE carCode != ''
GROUP BY carCode, emailaddress;

关于mysql - 使用 sql DISTINCT 获取唯一行列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14486672/

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