繁体   English   中英

MySQL选择多个不同的值

[英]MySQL select multiple distinct values

我在 MySQL 数据库中有列电子邮件、城市、地址、州、国家。 一些电子邮件有多个地址。(多个地址和状态)- 具有相同电子邮件的不同地址的不同行。 我希望我的结果集显示不同电子邮件和状态的计数,并根据状态对计数进行分组。

我试过这样的东西——

select count(distinct(email), state from A group by state

但由于多个地址,同一封电子邮件出现在多个状态。 如何使电子邮件仅显示在任何一个州? 有人可以帮忙吗?

DISTINCT不能包含两个操作数。 您可以使用GROUP BY

select email, state from A group by email, state

如果您需要上面的 COUNT,您可以将它放在子查询中。

SELECT COUNT(*) FROM 
    (select email, state from A group by email, state) TBL
select f.email, f.state, f.id from(
select email, max(id) as maxid
from addresses where country= 'US' 
group by email) as x inner join addresses as f on f.email=x.email and f.id=x.maxid;

感谢您的帮助。 这个查询回答了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM