Mysql如何按照日期對(duì)比數(shù)據(jù),求SQL語句
問題描述
/*Navicat MySQL Data TransferTarget Server Type : MYSQLTarget Server Version : 50629File Encoding : 65001Date: 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’);
數(shù)據(jù)如下:
怎么樣才能用SQL語句完成(日期會(huì)每天遞增,數(shù)據(jù)會(huì)每天添加)
問題解答
回答1:你的需求要自連接才能實(shí)現(xiàn),效率不高。
看看這個(gè)sql能不能滿足你的需求吧。
SELECT `studentid`, `name`, group_concat(`score` ORDER BY `statDate`) FROM `student`GROUP BY `studentid`
以上手敲沒驗(yàn)證,不知道有沒有錯(cuò),調(diào)試一下吧。
相關(guān)文章:
