【问题标题】:SQL - count recurrence on different columnsSQL - 计算不同列上的重复次数
【发布时间】:2020-09-02 12:59:24
【问题描述】:

我正在尝试查找不同列上所有值的重复总数。

例如:

有什么建议吗?谢谢

【问题讨论】:

  • 您好,请至少包含一份您尝试解决问题的代码草稿
  • 用您正在使用的数据库标记您的问题。
  • 那张桌子是谁设计的?!?
  • 标记完成。这是一个从 Excel 工作表自动生成的表格...

标签: mysql sql count multiple-columns unpivot


【解决方案1】:

您可以取消透视,然后聚合。如果您的数据库支持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

【讨论】:

  • 谢谢!第二个就像一个魅力!我正在使用 MySQL,所以我认为我不能使用横向连接
猜你喜欢
  • 2018-07-07
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 2017-05-10
  • 2021-09-12
相关资源
最近更新 更多