免费注册 查看新帖 |

Chinaunix

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

【求助】一个包含MAX的查询怎么写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-25 23:27 |只看该作者 |倒序浏览
执行下面的语句
  1. create table abc
  2. (merch varchar(4),
  3. date smalldatetime,
  4. value int)

  5. insert abc values (\'a\',\'2007/1/2\',2)
  6. insert abc values (\'a\',\'2008/5/3\',3)
  7. insert abc values (\'a\',\'2006/6/6\',4)
  8. insert abc values (\'b\',\'2004/6/8\',5)
  9. insert abc values (\'b\',\'2002/6/7\',6)
  10. insert abc values (\'b\',\'2008/4/5\',7)
复制代码


我想查出这样的结果:
  1. merch        date        value
  2. b        2008-04-05 00:00:00        7
  3. a        2008-05-03 00:00:00        3
复制代码


我现在用这样的语句查询:
  1. select a.* from abc a,(select merch,max(date)\'date\' from abc group by merch) b
  2. where a.merch=b.merch and a.date=b.date
复制代码


但觉得有点麻烦,请问还有没有更简练的语句?
马鞍 该用户已被删除
2 [报告]
发表于 2008-07-27 13:56 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2008-07-27 15:42 |只看该作者
回马鞍,MSSQL SERVER 2000 SP4

论坛徽章:
0
4 [报告]
发表于 2008-07-28 00:22 |只看该作者
select * from (select *  from abc order by date desc) a
group by merch
order by value desc;

论坛徽章:
0
5 [报告]
发表于 2008-07-28 09:30 |只看该作者
原帖由 bailiu2002 于 2008-7-28 00:22 发表
select * from (select *  from abc order by date desc) a
group by merch
order by value desc;


给出错误提示:
消息 1033,级别 15,状态 1,第 1 行
除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP