- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有表“值”:
int id;
double amount;
Date date;
String cryptoName;
我需要接收带有“日期”和“cryptoName”列表的结果,并接收类似以下内容的内容:
btc ltc drk 42coin
27-DEC-14 0.2 5.0 100.0 0.01
28-DEC-14 0.22 5.5 99.5 0.02
29-DEC-14 0.23 6.1 100.6 0.03
30-DEC-14 0.25 6.0 101.2 0.03
我可以做到这一点:
select "Values"."date", LISTAGG("amount", ', ') WITHIN GROUP (ORDER BY "cryptoName") as "result" from "Values" GROUP BY "Values"."date"
但在这种情况下,我收到两列:“日期”和“结果”以及我的列表,但我需要接收“日期”列和几列,具体取决于表中的唯一“cryptoName”数量我怎样才能做到这一点?
最佳答案
从 11g R1 开始,您可以使用 PIVOT 运算符。参见例如: http://oracle-base.com/articles/11g/pivot-and-unpivot-operators-11gr1.php
或者,如果您知道列 ctyptoName 的所有唯一值,则可以将 DECODE 函数与 SUM 一起使用,如下所示:
select date,
sum(decode(cryptoName,'value1',amount,0)) as Value1
,sum(decode(cryptoName,'value2',amount,0)) as Value2
,...
from Values
group by date
关于java - Oracle、Hibernate、分组依据、LISTAGG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707500/
标签
这是我第一次使用 LISTAGG 函数,我很困惑。我可以很容易地选择数据,但是 USERS 列的字符之间都有空格,并且在尝试复制粘贴时,没有复制该列中的数据。我试过两种不同的 IDE。我做错了什么吗?
SELECT e.pem_id AS id, e.pem_subject AS subject, e.pem_content AS content
我正在我的脚本中使用 listagg listagg(' |' || aktiv.AKTIVITÄT_NR || ' |' || aktiv.AKTIVITÄT_KÜRZEL || ' |' ||
我正在尝试使用 LISTAGG() 来获取超过两列。 SELECT deptname, deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename
哪个更有效,特别是在将 Listagg 与 varchar 类型数据一起使用的情况下? SELECT department_id AS "Dept.", LISTAGG(last_nam
我正在尝试在 Redshift 中检索表的 DDL。我找到了 this View ,我可以在其中轻松选择任何表的定义。但是,我需要在一行中提供此信息,并且我知道有这个 Listagg 函数,但是如果我
我有一张这样的 table (报告) -------------------------------------------------- | user_id | Department | Pos
这是我正在尝试做的事情和我得到的结果的一个最小的工作示例: 我有一个查询如下: /* with tran_party as -- ALL DUMMY DATA ARE IN THESE CTE FOR
我正在研究 Oracle SQL-Developer。 让我们从数据开始,以更好地描述我的问题。我有一个有 2 列的表格 USER JOB 这 2 者之间的关系是 1,n。因此,1 个用户可以与 1
我正在尝试聚合一列: SELECT LISTAGG(name, '; ') WITHIN GROUP (ORDER BY name) FROM tbl_a INNER JOIN tbl_b ON t
我在 oracle 中有一个这样的查询,但我想要一个与此等效的配置单元 SQL。有人可以指导我下面的等效配置单元是什么 '[' || LISTAGG(t3.measure_title, ';') 在组
在 GORM(使用 grails)中,我需要将子选择中的多个结果合并为一个值。 (此子选择的结果将是连接值,我可以在其上进行搜索/排序等......) 查询写为 HQL。 oracle中有这样的东西
美好的一天。我正在编写一个使用 LISTAGG 并返回结果的查询。这是我到目前为止的代码。 select listagg(rtrim(shop_cde, 1), ', ') within
我正在研究 Oracle SQL-Developer。 让我们从数据开始,以更好地描述我的问题。我有一个有 2 列的表格 USER JOB 这 2 者之间的关系是 1,n。因此,1 个用户可以与 1
我正在尝试聚合一列: SELECT LISTAGG(name, '; ') WITHIN GROUP (ORDER BY name) FROM tbl_a INNER JOIN tbl_b ON t
我在 oracle 中有一个这样的查询,但我想要一个与此等效的配置单元 SQL。有人可以指导我下面的等效配置单元是什么 '[' || LISTAGG(t3.measure_title, ';') 在组
所有结果的 good_name 列均为空。查询中存在什么问题? select fp.id, listagg(fpg.name, ',') within group(order by fpg.na
这个问题已经有答案了: LISTAGG function: "result of string concatenation is too long" (14 个回答) 已关闭 9 年前。 我正在使用
我正在尝试聚合 SQLServer 中的“STRING”字段。我想找到与 Oracle 中相同的函数 LISTAGG 。 您知道如何执行相同的功能或其他方法吗? 例如, Field A | Field
假设我有以下两个表表 1 - 用户 ID UserName 001 abc 002 bcd 003 def 表 2 - 值 ID Tag Price 001 start 1 001 middle 2
我是一名优秀的程序员,十分优秀!