如何解决SQL-计算不同列上的重复发生
我正在尝试查找不同列上所有值的重复发生总数。
例如:
有什么建议吗?谢谢
解决方法
您可以先取消透视,然后进行汇总。如果您的数据库支持values()
和横向联接:
select x.name,count(*) cnt
from mytable
cross join lateral (values (name1),(name2),(name3)) as x(name)
group by x.name
union all
是一种更具移植性(尽管效率较低)的方法:
select name,count(*) cnt
from (
select name1 as name from mytable
union all select name2 from mytable
union all select name3 from mytable
) x
group by name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。