gpt4 book ai didi

sql - 如何列出SQL中多个列中出现的值的次数?

转载 作者:行者123 更新时间:2023-11-29 14:06:15 26 4
gpt4 key购买 nike

我有一个 SQL 广告约定表:

| id  | ad1    | ad2   | ad3    |
| ----|--------| ------| -------|
| 1 |val_1 |NULL | NULL |
| 2 |val_2 |val_1 | NULL |
| 3 |val_3 |NULL | val_3 |

我想在 ad1、ad2、ad3 列中列出所有广告值出现时间。查询将返回

| value   | times |
| --------| ------|
| val_1 | 2 |
| val_2 | 1 |
| val_3 | 2 |

执行此操作(以获得最佳性能)的最佳方法是什么?

最佳答案

在子查询中使用UNION ALL

select t.value, count(*)
from (
select ad1 value from ad_convention
union all
select ad2 value from ad_convention
union all
select ad3 value from ad_convention
) t
group by t.value

关于sql - 如何列出SQL中多个列中出现的值的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50944329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com