查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
Q5P418
新的用户

加入:2020年5月10日 帖子:7 地点:美国
|
|
|
|
我有一个DB2表,其中的列(A)之一为ABC或XYZ。
我需要基于col C日期的最新两个记录的值A = 美国广播公司的输出。
样品表
A B C
美国广播公司约翰8/8/2019
美国广播公司约翰8/1/2019
XYZ约翰7/1/2019
美国广播公司玛丽10/11/2019
XYZ玛丽10/1/2019
美国广播公司保罗6/6/2019
美国广播公司保罗6/20/2019
码: |
A B C
美国广播公司 John 8/8/2019
美国广播公司 John 8/1/2019
XYZ John 7/1/2019
美国广播公司 Mary 10/11/2019
XYZ Mary 10/1/2019
美国广播公司 Paul 6/6/2019
美国广播公司 Paul 6/20/2019
|
在此示例表中,我的输出将是John和Paul记录 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
发布数据时,请使用代码标签(可使用完整的编辑器使用)。这次,我为您完成了此操作,将未标记的数据保留在原处,以便您可以看到不同之处。
请显示您尝试过的SQL。 |
|
回到顶部 |
|
 |
Q5P418
新的用户

加入:2020年5月10日 帖子:7 地点:美国
|
|
|
|
到目前为止,我已经尝试使用以下SQL:
选择B,C
从表
在哪里='ABC'
AND B IN('John','Paul',......'Mary')
B组
按C DESC排序
仅获取前2行
请注意-我需要处理B列中大约500条记录。 |
|
回到顶部 |
|
 |
谢尔盖肯
活跃的成员

已加入:2008年4月29日 帖子:940 所在地:马里兰
|
|
|
|
Q5P418写道: |
到目前为止,我已经尝试使用以下SQL:
选择B,C
从表
在哪里='ABC'
AND B IN('John','Paul',......'Mary')
B组
按C DESC排序
仅获取前2行
请注意-我需要处理B列中大约500条记录。 |
1)您听说过代码标签吗?
2)你怎么了? (除了您有义务完成自己的任务吗?) |
|
回到顶部 |
|
 |
Q5P418
新的用户

加入:2020年5月10日 帖子:7 地点:美国
|
|
|
|
到目前为止,我已经尝试使用以下SQL:
码: |
选择B,C
从表
在哪里='ABC'
AND B IN('约翰','保罗',......'玛丽')
B组
按C DESC排序
仅获取前2行 |
请注意-我需要处理B列中大约500条记录。 |
|
回到顶部 |
|
 |
谢尔盖肯
活跃的成员

已加入:2008年4月29日 帖子:940 所在地:马里兰
|
|
|
|
你到底是什么问题?
不是您的任务,而是您面临的问题是什么? |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
我不明白你为什么
这是要达到什么目的?
您的日期格式不适合排序-您应该使用ccyymmdd格式,或者至少使日期具有相同的长度,因此1/1/2019应该为01/01/2019。 |
|
回到顶部 |
|
 |
罗希特·乌马尔吉卡(Rohit Umarjikar)
全球主持人

已加入:2010年9月21日 帖子:2582 地点:美国纽约
|
|
|
|
码: |
选择temp1.A,temp1.B,temp1.C
从
(
选择A,B,C
从表
在哪里='ABC'
) temp1
按temp1.c DESC排序
仅获取前2行 |
|
|
回到顶部 |
|
 |
Q5P418
新的用户

加入:2020年5月10日 帖子:7 地点:美国
|
|
|
|
罗希特
感谢您的答复!
我必须在B列中处理大约500条记录。
因此,最后一条语句将无法正常工作,因为我希望输出超过2条记录。 |
|
回到顶部 |
|
 |
谢尔盖肯
活跃的成员

已加入:2008年4月29日 帖子:940 所在地:马里兰
|
|
|
|
Q5P418写道: |
罗希特
感谢您的答复!
我必须在B列中处理大约500条记录。
因此,最后一条语句将无法正常工作,因为我希望输出超过2条记录。 |
您如何想象“一列500条记录”?  |
|
回到顶部 |
|
 |
罗希特·乌马尔吉卡(Rohit Umarjikar)
全球主持人

已加入:2010年9月21日 帖子:2582 地点:美国纽约
|
|
|
|
Q5P418写道: |
罗希特
感谢您的答复!
我必须在B列中处理大约500条记录。
因此,最后一条语句将无法正常工作,因为我希望输出超过2条记录。 |
重新阅读您的原始帖子。您提到了当A ='ABC'时需要最新的前两行(基于col C),因此此查询将根据需要工作,并且无论其500还是5M都不重要。它应该工作。
如果您更改了要求,请原样发布。
以下查询将处理每行重复项。
码: |
选择temp1.A,temp1.B,temp1.C
从
(
选择区域A,B,C
从表
在哪里='ABC'
) temp1
按temp1.c DESC排序
仅获取前2行 |
|
|
回到顶部 |
|
 |
|