Mysql如何按照日期对比数据
问题描述
-- phpMyAdmin SQL Dump-- version 4.0.10.14-- http://www.phpmyadmin.net---- 主机: localhost:3306-- 生成日期: 2016-08-24 00:16:24-- 服务器版本: 5.6.30-cll-lve-- PHP 版本: 5.6.20SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';SET time_zone = '+00:00';/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;---- 数据库: `student`---- ------------------------------------------------------------ 表的结构 `student`--CREATE TABLE IF NOT EXISTS `student` ( `id` varchar(20) NOT NULL, `name` varchar(50) NOT NULL, `fraction` int(20) NOT NULL, `date` date NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;---- 转存表中的数据 `student`--INSERT INTO `student` (`id`, `name`, `fraction`, `date`) VALUES(’1’, ’student’, 100, ’2016-08-23’),(’1’, ’student’, 95, ’2016-08-22’),(’2’, ’student2’, 100, ’2016-08-23’),(’2’, ’student2’, 200, ’2016-08-22’),(’3’, ’student3’, 350, ’2016-08-23’),(’3’, ’student3’, 450, ’2016-08-22’),(’4’, ’student4’, 50, ’2016-08-23’),(’4’, ’student4’, 100, ’2016-08-22’),(’5’, ’student5’, 900, ’2016-08-23’),(’5’, ’student5’, 930, ’2016-08-22’);/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
MYSQL中的数据
需求:按照下面最终目的对比 昨天和前天的数据(因为每天都要对比最近两天的数据)
需要sql查询语句来实现以下效果
问题解答
回答1:select t1.name as 姓名, t1.fraction as 昨天分数, t2.fraction as 前天分数, current_date as 今天日期from ( select id,name,fraction from student where date = (current_date - interval 1 day) -- 昨天) t1left outer join ( select id,fraction from student where date = (current_date - interval 2 day) -- 前天) t2 on t1.id = t2.id
回答2:select t_22.name, t_22.fraction, t_23.fractionfrom (select name, fraction from student where data=’2016-08-22’) t_22, (select name, fraction from student where data=’2016-08-23’) t_23where t_22.name=t_23.name
有空再看看能不能优化吐槽:题主的id等于没用,id一般用来做主键必然是唯一性的...
相关文章:
1. nignx - docker内nginx 80端口被占用2. docker绑定了nginx端口 外部访问不到3. docker网络端口映射,没有方便点的操作方法么?4. javascript - canvas 裁剪空白区域5. docker不显示端口映射呢?6. angular.js - angular内容过长展开收起效果7. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?8. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么9. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下10. debian - docker依赖的aufs-tools源码哪里可以找到啊?
