有关sql的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:14:13
CREATE TABLE `test` (
`Id` int(10) NOT NULL,
`name` char(30) default NULL,
`classId` int(10) default NULL,//班级
`age` float(10,3) default NULL,
`inserttime` timestamp NOT NULL default CURRENT_TIMESTAMP,
`weeks` int(10) default NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `test` VALUES ('1', '王00', '1', '23.000', '2009-09-17 14:53:30', null);
INSERT INTO `test` VALUES ('2', '王均', '1', '26.000', '2009-09-17 14:53:58', null);
INSERT INTO `test` VALUES ('3', '甘均', '1', '25.000', '2009-09-17 14:54:26', null);
INSERT INTO `test` VALUES ('4', '王凯', '2', '21.000', '2009-09-17 14:54:51', null);
INSERT INTO `test` VALUES ('5', '均个', '2', '18.000', '2009-09-17 14:55:18', null);

select name,age,classid from test where age in (select max(age) from test group by classid)
还有年龄应该用整型吧,你为什么用float?

select top 1 name from test group by classid,name order by age desc

select name,classid from test
group by classid,name
having age = max(age)