oracle 与 mysql group by 使用

(group by 查询的视图 与需要的查询的语句进行关联查询)

1.mysql 使用

创建表:

CREATE TABLE `student` (  
  `id` int(11) NOT NULL AUTO_INCREMENT,  
  `name` varchar(30) DEFAULT NULL,  
  `sex` tinyint(1) DEFAULT '0',  
  `score` int(10) NOT NULL,  
  `dept` varchar(10) DEFAULT NULL,  
  PRIMARY KEY (`id`)  
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8  

添加测试数据:

insert into student (id,name,sex,score,dept) values(1,'a','1',90,'dev');
insert into student (id,name,sex,score,dept) values(2,'b','1',90,'dev');
insert into student (id,name,sex,score,dept) values(3,'b','0',88,'design');
insert into student (id,name,sex,score,dept) values(4,'c','0',60,'sales');
insert into student (id,name,sex,score,dept) values(5,'c','0',89,'sales');
insert into student (id,name,sex,score,dept) values(6,'d','1',100,'product');

 

mysql查询:每个部门只有一条数据,dev 部门的90 缺少了b这个人

select *,max(score) as max from student group by dept  order by name;  

144210_ahpw_2447363.png

 

 

oracle 查询: 

select * from student t ,(select  dept ,max(score)  score from student group by dept )t2
where t.dept=t2.dept and t.score=t2.score

144305_WJpT_2447363.png

 

 

转载于:https://my.oschina.net/v512345/blog/794973

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值