数据库
首页 > 数据库> > mysql – 两列的独特组合

mysql – 两列的独特组合

作者:互联网

我目前正在尝试在表中找到不同的组合,因为其中两列具有多对多的关系.

数据全部围绕特定客户端运行的备份策略,可归纳如下:

enter image description here

我想为上表生成的答案是7,因为有这么多不同的组合.

有没有人知道如何做到这一点?我尝试过试验嵌套计数和不同的值(我可以过滤到一列但不能同时过滤两列).

解决方法:

您可以通过运行来计算不同的元素:

select count(distinct policy_id, client_id) from policy_client;

另一个选择是分组并计算:

select count(*) from (select policy_id, client_id from policy_client group by 1,2) a;

运行两个版本,看看哪个版本在数据集上表现更好.

如果你有一个键(policy_id和client_id),一个非常快速但不完全准确的方法你也可以检查该索引的基数,但这是一个近似而不是确切的数字.

标签:mysql,count,distinct,mysql-5-1
来源: https://codeday.me/bug/20190805/1593757.html