要求根据查询条件返回每个用户对于的欠费量、欠费金额、欠费次数、欠费期间(欠费期间是多个以,分割)
select
m.yqzh,max(m.hz_mc),sum(m.sl),sum(m.yje),sum(m.num),max(m.dzms),
listagg(m.cbqijian , ',') within
GROUP(
order by m.yqzh) as qfqijian
from
( select max(ys.fyjl_yqzh) as yqzh,
max(ys.fyjl_hz_mc) as hz_mc,
sum(ys.fyjl_sl) as sl,
sum(ys.fyjl_yje) as yje,
max(ys.fyjl_lxdh) as lxdh,
count(ys.fyjl_bi_id) as num,
max(ys.fyjl_yqdz_ms) as dzms,
max(substring(ys.fyjl_cbqijian,1,6)) as cbqijian
from feiyong_jilu_ys ys
where ys.fyjl_zt = '4'
and ys.fyjl_fylx_id = '31'
and ys.fyjl_fyxm_id = '3101'
and ys.fyjl_yqzh='D6000107'
group by ys.fyjl_bi_id
) m
group by m.yqzh
查询结果:
分享到:
相关推荐
在 Oracle 中,分组后拼接分组字符串是一种常见的操作,用于将分组后的多条记录的某字段进行拼接。下面我们来详细介绍如何实现这种操作。 首先,创建一个测试表 `test`,该表包含三个字段:`NO`、`VALUE`、`NAME`。...
* 超大字符串拼接,单个字符串4000、分隔符100,可拼出超4000的超长字符串 * 可自定义指定分隔符separator * 可自定义指定排序字段sequence,对于数字或日期类型的字段,先转为字符串,比如to_char(line, 'FM000'...
在Oracle中,我们可以使用双竖线`||`来拼接字符串。 ```sql SELECT 'Hello, ' || 'World!' AS ConcatenatedString FROM DUAL; ``` 2. 使用`CONCAT()`函数 尽管Oracle也支持`CONCAT()`函数,但其功能相对简单,不...
在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...
这里我们详细探讨了多个与字符串相关的函数,它们在处理和操作文本数据时非常有用。 1. **SUBSTR** 函数:这个函数用于从字符串中提取子串。基本语法是 `substr(string, start_position, length)`。例如,`substr('...
`LISTAGG`函数可以将同一分组内的多个值合并成一个字符串,并按照指定的排序顺序(这里是按城市名字的顺序)。这种方法比上一种更灵活,但仍然依赖于固定的表和字段。 3. 灵活表函数法 这种方法更加灵活,但可能会...
如果字符串包含多个单词,则每个单词的首字母都会被转换成大写。 #### 5. INSTR(C1,C2,I,J) INSTR函数用于查找一个字符串在另一个字符串中的位置。基本格式为:`INSTR(C1,C2,[I],[J])`,其中: - C1:目标字符串...
在Oracle中,`WM_CONCAT`函数可以用来拼接字符串,但是它不是标准的Oracle功能,且在高版本中已被废弃,因为它可能会因为结果过长导致错误。为了解决这个问题,我们可以创建一个自定义的聚集函数,它允许我们指定...
这个问题涉及到字符串的连接和聚合,使得多个记录的某个字段值能够整合到一行。在Oracle中,虽然没有内置的聚合函数直接支持这种操作,但可以通过一些技巧和自定义方法来实现。下面我们将对几种常用的方法进行详细...
- **`UNION ALL` 或 `UNION`:** 虽然这不是直接的合并,但通过将结果集合并,可以达到类似的效果。例如,如果你有多个视图或表,每个都有一部分数据,可以使用这些操作将它们组合在一起。 3. **`CONNECT BY` 和 `...
它根据正则表达式`[^,]+`(表示非逗号的任何字符的一个或多个连续序列)来分割字符串,返回符合条件的部分。`REGEXP_REPLACE`函数虽然在此案例中未被直接使用,但它也是一个重要的正则表达式处理函数,可以用于替换...
oracle存储过程中入参是逗号分隔,并且参数要使用在in过滤语句中查询数据。处理的方法与实现
在Oracle中,可以通过使用字符串连接操作符`||`来连接多个字段,并与关键字进行模糊匹配。这种方法相对简单直观,适用于字段数量不多的情况。 ##### 示例代码: ```sql SELECT * FROM table_name WHERE ('field1' ...
其中,字符串拼接操作是一项非常常见的需求,特别是在需要将多个列值组合成一个单独的字符串时。本文将详细介绍如何使用Oracle中的`WMSYS.WM_CONCAT`函数来实现列的拼接,并通过具体的例子帮助理解其应用场景。 ###...
例如,你可以将大字符串分割成多个小于或等于4000字符的小字符串,然后逐个插入。这可以通过循环和拼接操作来实现。 2. **使用DBMS_LOB子程序**: Oracle提供了一系列的DBMS_LOB包,它包含了许多处理CLOB数据的...
它可能通过遍历输入字符串的每个字符,逐个转换为拼音,然后拼接成结果字符串。 2. `GET_INITIALS`:除了全拼音,还可能提供获取首字母的功能,即每个汉字的声母,这对于创建基于拼音的快速检索索引特别有用。 在...
CONCAT 函数用于连接两个或多个字符串。如示例所示,CONCAT('010-', '88888888') || '转23' 结果为'010-88888888转23'。CONCAT_WS 使用分隔符连接字符串,例如 CONCAT_WS(',', 'name', 'email')。 4. INITCAP 函数...
2. **WM_CONCAT 函数**:这是Oracle提供的一个聚合函数,用于将一组字符串连接成一个字符串,中间以指定的分隔符隔开。在这个例子中,我们使用它来连接列名,并以逗号作为分隔符。 #### 实现步骤 为了实现上述目标...