最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql使用心得

来源:动视网 责编:小采 时间:2020-11-09 19:29:24
文档

mysql使用心得

mysql使用心得:bitsCN.com SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `staff`-- ----------------------------DROP TABLE IF EXISTS `staff`;CREATE TABLE `staff` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(
推荐度:
导读mysql使用心得:bitsCN.com SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `staff`-- ----------------------------DROP TABLE IF EXISTS `staff`;CREATE TABLE `staff` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(


bitsCN.com

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `staff`

-- ----------------------------

DROP TABLE IF EXISTS `staff`;

CREATE TABLE `staff` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(100) DEFAULT NULL,

`age` smallint(10) DEFAULT NULL,

`department` int(10) DEFAULT NULL,

`type` smallint(5) DEFAULT NULL,

`create_time` datetime DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of staff

-- ----------------------------

INSERT INTO `staff` VALUES ('1', '刘德华', '54', '1', '1', '2014-06-21 11:29:22');

INSERT INTO `staff` VALUES ('2', '张学友', '50', '1', '1', '2014-06-21 11:29:27');

INSERT INTO `staff` VALUES ('3', '郭富城', '52', '1', '1', '2014-06-21 11:29:27');

INSERT INTO `staff` VALUES ('4', '黎明', '53', '1', '1', '2014-06-21 11:29:27');

INSERT INTO `staff` VALUES ('5', '刘德华', '54', '2', '2', '2014-06-21 11:39:27');

INSERT INTO `staff` VALUES ('6', '梁朝伟', '55', '2', '2', '2014-06-21 11:29:27');

INSERT INTO `staff` VALUES ('7', '黄日华', '57', '2', '2', '2014-06-21 11:29:27');

INSERT INTO `staff` VALUES ('8', '梁朝伟', '55', '3', '3', '2014-06-21 11:30:36');

INSERT INTO `staff` VALUES ('9', '刘德华', '54', '3', '3', '2014-06-21 11:31:01');

SELECT * FROM `staff` as t1 group by `name`,age,department,type,create_time

having create_time = (select max(create_time) from staff as t2 where t2.name=t1.name ) #group by t2.name

;

解析:group by是先按`name`,age,department,type,create_time 进行分组,分完组后having对每个分组里面按照create_time进行过滤,最后得到每个name的最新一条记 录;也就行有多少个分组分组就要执行多少遍 having create_time = (select max(create_time) from staff as t2 where t2.name=t1.name ) 语句,select max(create_time) from staff as t2 where t2.name=t1.name 查询的数据源是从全表中通过name进行过滤后,再查找最大的一条。

思考:可以把having后面的所有create_time都换成id看看结果对比一下

另一种通过子查询的实现方式:

SELECT * FROM

(

select * from staff order by create_time desc

) as t1 group by `name`;

bitsCN.com

文档

mysql使用心得

mysql使用心得:bitsCN.com SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `staff`-- ----------------------------DROP TABLE IF EXISTS `staff`;CREATE TABLE `staff` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(
推荐度:
标签: 使用 心得 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top