gpt4 book ai didi

sql - oracle 中具有特定标志的列数

转载 作者:行者123 更新时间:2023-12-02 08:10:28 25 4
gpt4 key购买 nike

我有一个包含 10 列的表来存储标志,这些标志只能是 Y 或 N 对应如下所示的名称

NAME    FLAG1   FLAG2   FLAG3   FLAG4   FLAG5   …   FLAG10
----------------------------------------------------------
name1 Y N Y Y Y N
name2 N N Y N N Y
name3 Y Y Y N Y N

我想得到每个名字的 Y 和 N 的数量。

NAME   Y     N
---------------
name1 4 6
name2 2 8
name3 5 5

求性能好的oracle/sql查询,表有百万条记录

最佳答案

使用REGEXP_COUNT计算字符出现次数:

SELECT name,
REGEXP_COUNT(Flag1||Flag2||Flag3||Flag5||Flag6||Flag7||Flag8||Flag9||Flag10,'Y') AS Y,
REGEXP_COUNT(Flag1||Flag2||Flag3||Flag5||Flag6||Flag7||Flag8||Flag9||Flag10,'N') AS N
FROM t

关于sql - oracle 中具有特定标志的列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47611588/

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