免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1687 | 回复: 6
打印 上一主题 下一主题

[问题]关于group by的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-07 11:44 |只看该作者 |倒序浏览
使用group by时,select子句中的列要么包含在聚合函数中,要么包含在group by子句中。那么,我如何在select的返回结果中得到其他列的信息啊?

例如:
供应商 供应时间     供应数量
1        20050102    200
1        20050207    250
2        20041218    170
2        20041230    300
2        20050221    120
3        20050321    160
如何通过SQL得到每个供应商最近一次供应时间及其数量:
供应商 供应时间     供应数量
1        20050207    250
2        20050221    120
3        20050321    160

select 供应商,max(供应时间) from table_name group by 供应商
无法得到供应数量啊。

发在这里不合适,但也找不到合适的版面了,借oracle的人气问一下。
谢谢!

论坛徽章:
0
2 [报告]
发表于 2005-06-07 16:34 |只看该作者

[问题]关于group by的一个问题

select a.供应商,a.供应时间,a.供应数量 from table_name a,(select 供应商,max(供应时间) 时间 from table_name group by 供应商)b where a.供应商=b.供应商 and a.供应时间=b.时间

论坛徽章:
0
3 [报告]
发表于 2005-06-07 16:39 |只看该作者

[问题]关于group by的一个问题

select 供应商  供应时间 供应数量
from
        (
        select 供应商  供应时间 供应数量  rank() over(order by 供应时间 desc) rk
        from table_name
        )
where rk = 1

论坛徽章:
0
4 [报告]
发表于 2005-06-07 18:43 |只看该作者

[问题]关于group by的一个问题

谢谢楼上,但
rank() over(order by 供应时间 desc) rk
什么意思啊?
rank不是可以识别的函数名,我用的是SQLserver,不好意思。

论坛徽章:
0
5 [报告]
发表于 2005-06-07 18:48 |只看该作者

[问题]关于group by的一个问题

hyh1234大侠的表b是从哪里来的?
我只有一张表啊。

论坛徽章:
0
6 [报告]
发表于 2005-06-08 11:07 |只看该作者

[问题]关于group by的一个问题

select a.gys,a.gysj,a.gysl from gys_test as a ,
(select gys,max(gysj) as gysj from gys_test
group by gys) as b

where a.gysj = b.gysj
and a.gys = b.gys
order by a.gys

论坛徽章:
0
7 [报告]
发表于 2005-06-08 15:43 |只看该作者

[问题]关于group by的一个问题

OK了,谢谢楼上的兄弟,趁热打铁再问个问题:
table_a:
供应商 field1    field2     field3
1        xxx        xxx        xxx
2        xxx        xxx        xxx
4        xxx        xxx        xxx
5        xxx        xxx        xxx
table_b:
供应商 供应时间     供应数量
1        20050207    250
2        20050221    120
3        20050321    160

如何得到table_c:
供应商 field1    field2     field3     供应时间    供应数量
1        xxx        xxx        xxx         20050207    250
2        xxx        xxx        xxx         20050221    120
4        xxx        xxx        xxx         null               null
5        xxx        xxx        xxx         null               null
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP