繁体   English   中英

如何根据特定列 SQL Oracle 的唯一值混合三行?

[英]How can I Mix three rows based on the unique value of specific column SQL Oracle?

我想在 Oracle 开发人员中编写一个 sql 查询,将三行转换为一行并组合这些行的值。

该表有三列。 column1 : NUMBER(10,0) column2 : VARCHAR2(15 CHAR) column3 : TIMESTAMP(6)

我将 column2 和 column3 组合在一起形成一列。 起初我有:

在此处输入图片说明

我想根据 column1 的值(即 41)组合这三行。 我想在最后有一排:

在此处输入图片说明

你能帮我找到正确的查询吗?

由 mathguy编辑oracle-sqldeveloper标记是相关的,因为在编写正确的查询后,仍然存在在 SQL Developer 的查询结果窗口中能够看到它是“正确”的问题。 这有点问题,因为 SQL Developer 删除了空格,所以不清楚结果是否真的正确。 这在评论和答案中讨论。

select column1,
       listagg(column2 || ' ' || to_char(column3, 'dd-MON-rr hh:mi:ss.ff6 AM'), chr(10)) 
               within group (order by column3)
from   table_name
group by column1
;

(未测试。)

这将显示文本列是单个表格行,但它将显示为三行文本。

您可能还想为第二列指定别名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM