当前位置: 首页 > 面试题库 >

oracle中有没有类似于mysql中的group_concat的函数?[复制]

陈季
2023-03-14
问题内容

我的输入就是这样。

col1   col2
1      a
1      b
2      c
2      d
2      e

O / p:应该像

col1    col2
1       a,b
2       c,d,e

我想要一个可以在数据库级别上触发的查询。我尝试了各种方法,但无法做到这一点…


问题答案:

11g及更高版本:
使用listagg:

SELECT 
    col1,
    LISTAGG(col2, ', ') WITHIN GROUP (ORDER BY col2) "names"
FROM table_x
GROUP BY col1

10g及以下: 一种方法是使用功能:

CREATE OR REPLACE FUNCTION get_comma_separated_value (input_val  in  number)
  RETURN VARCHAR2
IS
  return_text  VARCHAR2(10000) := NULL;
BEGIN
  FOR x IN (SELECT col2 FROM table_name WHERE col1 = input_val) LOOP
    return_text := return_text || ',' || x.col2 ;
  END LOOP;
  RETURN LTRIM(return_text, ',');
END;
/

要使用该功能:

select col1, get_comma_separated_value(col1) from table_name

注意:WM_CONCAT在某些较早版本的Oracle上有一个(不受支持的)功能,该功能可能会对您有所帮助-有关详细信息,请参见此处。

在MySQL中:

SELECT col1, GROUP_CONCAT(col2) FROM table_name GROUP BY col1


 类似资料:
  • 本文向大家介绍有没有类似于MySQL中Oracle的trunc(sysdate)的功能?,包括了有没有类似于MySQL中Oracle的trunc(sysdate)的功能?的使用技巧和注意事项,需要的朋友参考一下 是的,您可以用于仅获取MySQL中的日期部分,并且可以用于获取MySQL中的当前日期。 当前日期如下- 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表

  • 本文向大家介绍浅谈Mysql中类似于nvl()函数的ifnull()函数,包括了浅谈Mysql中类似于nvl()函数的ifnull()函数的使用技巧和注意事项,需要的朋友参考一下 IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 如果expr1是TRUE(e

  • 问题内容: 我需要用同一行的一组列(从左到右)中的第一个非空条目填充一个单元格-类似于SQL中的coalesce()。 在以下示例表中 我想在A行的每个单元格中放置一个单元格函数,这样我将得到: 我知道我可以使用一系列IF函数来做到这一点,但是在我的实际工作表中,我有30列可供选择,因此,如果有一种更简单的方法,我将很高兴。 问题答案: 这是一个数组公式。输入公式后,按+ +使Excel将其评估为

  • 问题内容: 我正在寻找一个能够与TSQL的MySQL REGEX函数做相同事情的函数。基本上,我需要我的查询看起来像以下内容: 我目前不希望使用CLR。 有任何想法吗? 问题答案: 此链接是有关通过服务器上的VBScript.Regex库编写正则表达式的文章:http : //www.sqlteam.com/article/regular-expressions-in-t- sql 它通过OLE自

  • 问题内容: 众所周知,C#提供了一个AS关键字,该关键字会自动执行一次检查,检查对象是否属于某种类型,如果是,则将其强制转换为所需的类型,否则给出null。 在上面的示例中,这里的Object obj可以是User类型或其他类型。用户将获得User类型的对象或null。这是因为C#的As关键字首先执行检查,然后在可能的情况下将对象强制转换为结果类型。 那么Java中有没有与C#的AS关键字等效的关

  • 考拉提供了一种非常简单的方法,可以在Facebook的用户墙上发布状态更新。我想知道是否存在一个 gem 来对 Twitter 做类似的事情:换句话说,我正在寻找一个 gem,可以轻松地让您的应用程序为用户发布一些东西。 非常感谢任何建议。