首页 > Mysql如何按照日期对比数据,求SQL语句

Mysql如何按照日期对比数据,求SQL语句

/*
Navicat MySQL Data Transfer

Target Server Type    : MYSQL
Target Server Version : 50629
File Encoding         : 65001

Date: 2016-09-05 13:57:13
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `studentid` int(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `score` varchar(255) DEFAULT NULL,
  `statDate` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', '1000', '路人甲', '99.9', '2016-09-01');
INSERT INTO `student` VALUES ('2', '1001', '路人丙', '98.8', '2016-09-02');
INSERT INTO `student` VALUES ('3', '1003', '路人丁', '95.5', '2016-09-03');
INSERT INTO `student` VALUES ('4', '1000', '路人甲', '90.0', '2016-09-02');
INSERT INTO `student` VALUES ('5', '1001', '路人丙', '87.5', '2016-09-01');
INSERT INTO `student` VALUES ('6', '1003', '路人丁', '77.5', '2016-09-01');
INSERT INTO `student` VALUES ('7', '1003', '路人丁', '60.5', '2016-09-02');
INSERT INTO `student` VALUES ('8', '1000', '路人甲', '80.5', '2016-09-03');
INSERT INTO `student` VALUES ('9', '1001', '路人丙', '60.8', '2016-09-04');
INSERT INTO `student` VALUES ('10', '1003', '路人丁', '50.5', '2016-09-04');

数据如下:

怎么样才能用SQL语句完成
(日期会每天递增,数据会每天添加)


你的需求要自连接才能实现,效率不高。

看看这个sql能不能满足你的需求吧。

SELECT `studentid`, `name`, group_concat(`score` ORDER BY `statDate`) FROM `student`
GROUP BY `studentid`

以上手敲没验证,不知道有没有错,调试一下吧。

【热门文章】
【热门文章】