我一直在努力解决一个大问题。阅读旧的类似问题并没有取得什么成果。
我的表有id、parentid、data1、data2等列。有些情况下,只有一个记录具有相同的父母,而另一些记录有2-10。
我想按父母分组,并打印出所有数据的记录,其中有最大的id。因此,我只会得到所有的“最新”的记录,其中有相同的父母号码。
我希望这是可以理解的目标:)。
我也试图在水晶报告XI和Qlikview 11中解决这个问题,但没有取得很大的成功。
提前感谢您的帮助!
发布于 2013-09-25 15:29:33
可以重用ID列中的值吗?如果没有,那么尤尔根的答案就会奏效。如果可以重用它们,则需要在查询中使用相同的表两次,一次用于获取每个父id的最大id,一次用于获取每个max id /父id的行。就像这样:
select
t1.*
from aTable t1,
(select parentid, max(id) as id
from aTable group by parentid) t2
where t1.id = t2.id
and t1.parentid = t2.parentid发布于 2013-09-25 14:41:12
select * from your_table
where id in
(
select max(id)
from your_table
group by parentid
)发布于 2013-09-26 07:38:24
使用qlikview的解决方案是:
剧本:
Table:
Load id,
parentid,
d1,
d2
inline
[
id, parentid, d1, d2
1, 0, Hep, 01-04-2010
2, 1, Hap, 09-04-2010
3, 1, Hup, 10-10-2012
4, 2, Bep, 01-12-2009
5, 4, Ceg, 02-10-2010
6, 4, Pen, 05-10-2009
7, 4, Heg, 01-10-2009
8, 4, Ran, 08-01-2010
];然后,我将字段id和parentid添加到仪表板中。要计算结果,请使用一个表图,其中、parentid、是维度。加一个公式
=max(id)并将其命名为“max(Id)”
然后得到以下结果:

https://stackoverflow.com/questions/19007935
复制相似问题