美文网首页sql脚本
增量业务数据表 查询繁琐,也要避免错误

增量业务数据表 查询繁琐,也要避免错误

作者: 孙沛2010 | 来源:发表于2018-11-23 14:58 被阅读0次

/*
增量业务数据表
Id 自增id
BusId 业务主键
DataDate 增量数据所在的日期
*/
create table #room(Id int, BusId int, BusNo varchar(100), BusCode varchar(100), BusArea decimal(10,2), ts int, DataDate datetime)
-- 数据日期2018-09-01
INSERT INTO #room (Id, BusId, BusNo, BusCode, BusArea, ts, DataDate)
VALUES ('1', '40', 'xxxxxxxxx', 'yyyyy', '22.00', '1499639', '2018-09-01 17:39:24');
-- 数据日期2018-11-01
INSERT INTO #room (Id, BusId, BusNo, BusCode, BusArea, ts, DataDate)
VALUES ('2', '40', 'xxxxxxxxx', 'yyyyy', '24.00', '1499639', '2018-11-01 17:39:24');
-- 数据日期2018-10-01,发现10.1数据遗漏,补充.id变=3
INSERT INTO #room (Id, BusId, BusNo, BusCode, BusArea, ts, DataDate)
VALUES ('3', '40', 'xxxxxxxxx', 'yyyyy', '23.00', '1499639', '2018-10-01 17:39:24');

select * from #room
--查询2018-11-02日的最新数据

--现在实现版本,返回id=3的错误数据
select r.* from #room r join
(select max(id) id from #room where DataDate<='2018-11-02' group by BusId) rMax on rMax.id=r.Id

--数据正确版本,返回id=2的正确数据
-- 因为日期字段做条件会变慢,当时没有采取
-- 建议加一列 ImportTimeTS int,对应DataDate的ts.作为条件
select r.* from #room r join
(select max(DataDate) DataDate,BusId from #room where DataDate<='2018-11-02' group by BusId) rMax
on rMax.DataDate=r.DataDate and rMax.BusId=r.BusId

相关文章

  • 增量业务数据表 查询繁琐,也要避免错误

    /*增量业务数据表Id 自增idBusId 业务主键DataDate 增量数据所在的日期*/create tabl...

  • Python 高级 15(1) 数据表

    2.5 数据表查询操作 学习目标 能够熟练对数据表进行各种查询操作 -----------------------...

  • Python 高级 15(2) 数据表操作

    2.5 数据表查询操作 学习目标 能够熟练对数据表进行各种查询操作 -----------------------...

  • 数据库优化

    1. 优化的目的: 避免页面出现访问错误数据库连接timeout产生5xx错误慢查询导致页面无法加载(就是查询操作...

  • MySQL数据库查询语句

    ** select查询语句**select *from 数据表名;注释:查询数据表里所有数据select name...

  • tp生成数据表字段缓存optimize:schema

    可以通过生成数据表字段信息缓存,提升数据库查询的性能,避免多余的查询。命令如下: 会自动生成当前数据库配置文件中定...

  • Django(六)模型与数据库(多表查询)

    多表查询 在日常开发中,常常要对多个数据表同时进行数据查询。多个数据表查询需要数据表之间建立表概念西才得以实现...

  • 单列索引与联合索引

    一般在创建数据表的时候,就会根据表的业务属性,对查询比较频繁的字段建立索引,方便提高查询速度。如果该表存在多个字段...

  • 读《Smart Pointer Parameters》有感

    最近在给xgboost添加一些接口,便于从稀疏向量数组增量构造DMatrix(在实际业务场景中可以避免数组拼接)。...

  • 数据备份yu还原;

    数据备份yu还原 方式: 数据表备份 单表数据备份 SQL备份 增量备份 数据表备份 存储引擎:innodb、my...

网友评论

    本文标题:增量业务数据表 查询繁琐,也要避免错误

    本文链接:https://www.haomeiwen.com/subject/equjqqtx.html