没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
不常用常用sql查询:
CREATE TABLE `tb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
`val` int(11) DEFAULT NULL,
`memo` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('1', 'a', '8', 'sfsfds');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('2', 'a', '9', 'sfdsf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('3', 'a', '7', 'fdsggsdf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('4', 'b', '3', 'sdfdsggsf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('5', 'b', '2', 'sdfdfte');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('6', 'b', '2', 'sdfdfte');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('7', 'b', '6', 'sgsdfdsfds');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('8', 'b', '5', 'sfsdg');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('9', 'b', '4', 'sfdsgdg');
按name分组取val最大的值所在行的数据
//mysql直接group by就行了
select id ,name,memo,max(val) as val from tb group by name;
/**花式按name分组取val最大的值所在行的数据实际并无必要
select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name
select a.* from tb a where not exists(select 1 from tb where name = a.name and val > a.val)
CREATE TABLE `tb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
`val` int(11) DEFAULT NULL,
`memo` varchar(20) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('1', 'a', '8', 'sfsfds');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('2', 'a', '9', 'sfdsf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('3', 'a', '7', 'fdsggsdf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('4', 'b', '3', 'sdfdsggsf');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('5', 'b', '2', 'sdfdfte');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('6', 'b', '2', 'sdfdfte');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('7', 'b', '6', 'sgsdfdsfds');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('8', 'b', '5', 'sfsdg');
INSERT INTO `test_db`.`tb` (`id`, `name`, `val`, `memo`) VALUES ('9', 'b', '4', 'sfdsgdg');
按name分组取val最大的值所在行的数据
//mysql直接group by就行了
select id ,name,memo,max(val) as val from tb group by name;
/**花式按name分组取val最大的值所在行的数据实际并无必要
select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name
select a.* from tb a where not exists(select 1 from tb where name = a.name and val > a.val)
资源评论
Lewis_刘
- 粉丝: 3
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功