MYSQL - Select 在 1 列中重复但在另一列中不同的所有行的计数

MYSQL - Select count of all rows that are duplicates in 1 column and distinct in another column

我有一个名为 transactions.addresses 的 MYSQL table,其中包含一个 usernameaddress 列。当用户在我的网站上创建交易时,它会记录在我的数据库中,如下所示

|username|    address   |
--------------------------
| jeremy | a33bfd019    |
| jeremy | b583ffs9a    |
| ben    | c09123jca    |

我如何 运行 一个查询来显示在 table 和 [=29] 中多次找到的所有 address 字段的计数=] 在数据库中有超过 1 个不同的用户名与之相关联?换句话说,我想看看有多少不同的用户在他们的交易中使用了相同的地址值。以下面的数据集为例:

|username|    address   |
--------------------------
| jeremy | a33bfd019    |
| jeremy | b583ffs9a    |
| jeremy | b583ffs9a    |
| ben    | c09123jca    |
| ben    | b583ffs9a    |

我希望看到如下结果:

|address   | count  |
--------------------------
| b583ffs9a| 2      |
| c09123jca| 1      |
| a33bfd019| 1      |

地址 b583ffs9a 的计数应该为 2,因为有 2 个用户使用了该地址。

正如 Barmar 评论的那样,您可以按 address 聚合并计算每组中不同的 usernames:

select address, count(distinct username) no_usernames
from mytable
group by address