mysql – 两列的独特组合
作者:互联网
我目前正在尝试在表中找到不同的组合,因为其中两列具有多对多的关系.
数据全部围绕特定客户端运行的备份策略,可归纳如下:
我想为上表生成的答案是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