/*如表中不包含任何主柱或標識列,因此不能決定哪些值是以前的值。這將是隨機的。

上面設置的值很小,這就是爲什麼下面的查詢不會有任何問題。

如果是較大的,然後繼續前進,把標識列和

更換標識列行號列的查詢*/

SELECT

CASE

WHEN myValues1.colName IS NULL AND myValues2.colName IS NOT NULL THEN myValues2.colName

/**Selecting the previous NOT NULL value for a NULL value*/

WHEN myValues1.colName='' AND myValues2.colName IS NOT NULL THEN myValues2.colName

/**Selecting the previous NOT NULL value for an empty value*/

WHEN myValues1.colName='' AND myValues2.colName IS NULL THEN (SELECT TOP 1 colName FROM (SELECT colname,

row_number() OVER (ORDER BY (SELECT 0)) AS rowNumber

FROM myValues) myValues3 WHERE myValues3.rowNumber < myValues2.rowNumber

AND myValues3.rowNumber IS NOT NULL

AND myValues3.rowNumber<>'' ORDER BY myValues3.rowNumber DESC)

/**Selecting the prior NOT NULL value for an empty value*/

WHEN myValues1.colName IS NULL AND myValues2.colName='' THEN (SELECT TOP 1 colName FROM (SELECT colname,

row_number() OVER (ORDER BY (SELECT 0)) AS rowNumber

FROM myValues) myValues3 WHERE myValues3.rowNumber < myValues2.rowNumber

AND myValues3.rowNumber IS NOT NULL

AND myValues3.rowNumber<>'' ORDER BY myValues3.rowNumber DESC)

/**Selecting the priorNOT NULL value for a NULL value*/

ELSE myValues1.colName

/**Selecting the same value if is not NULL or an empty value*/

END AS colName FROM

(SELECT colName,

row_number() OVER (ORDER BY (SELECT 0)) AS rowNumber

FROM myValues) myValues1 /**Setting the row number as it is displayed*/

LEFT OUTER JOIN

(SELECT colName,

row_number() OVER (ORDER BY (SELECT 0)) AS rowNumber

FROM myValues) myValues2 /**Setting the row number as it is displayed*/

ON myValues1.rowNumber=myValues2.rowNumber+1 /**Joining in a way to get the previous value*/

mysql select 补空行_用前一行的值填充空行mysql相关推荐

  1. mysql select不走索引_避免写出不走索引的SQL, MySQL

    在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你就"成功的避开了"MySQL的所有索引. 现 ...

  2. mysql返回前2行_取得前一次MySQL操作所影响的记录行数

    转载:http://blog.csdn.net/militala/article/details/5996510> mysql_affected_rows() 返回近来一次与 连接句柄 联系关系 ...

  3. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  4. mysql删除n行_订购记录并在MySQL中删除n行

    让我们首先创建一个表-mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY ...

  5. 如何合并mysql中的行_如何在MySQL中合并行?

    要合并MySQL中的行,请使用GROUP_CONCAT(). 让我们首先创建一个表-mysql> create table DemoTable734 ( Id int, Name varchar ...

  6. mysql访问类型最好的_【干货满满】最全的MySQL性能指南(一):选择最佳的数据类型...

    对于 MySQL 数据库来说,好的逻辑表和物理表的规划至关重要,我们需要根据查询语句来针对性地设计 Schema ,没有万能好用的 Schema.一个 denormalized 的 schema 可以 ...

  7. mysql 事务排他锁_[数据库事务与锁]详解六: MySQL中的共享锁与排他锁

    注明: 本文转载自http://www.hollischuang.com/archives/923 在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大 ...

  8. linux按照mysql为何如此简单_手把手教你在Linux下安装MySQL

    在Linux操作系统下,安装MYSQL有两种方式:一种tar安装方式,另外一种是rpm安装方式.这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的tar格式 ...

  9. mysql连接access失败_我用工具怎么连接不上mysql数据库的? MySql access denied for user错误...

    MySql access denied for user错误 方法/步骤 MySql远程连接时的"access denied for user **@**"错误,搞的我很头大,后来 ...

最新文章

  1. hbid新建html标签不能用,hbhdjtx.html
  2. Linux下Json库的编译及代码测试
  3. java执行Linux shell命令或者Window cmd命令
  4. pycharm打包.py程序为可执行文件exe
  5. Merge Two Sorted Lists leetcode java
  6. iptables规则的增删改查
  7. linux setuid函数_setuid函数解析
  8. 哪里有2003系统服务器,服务器2003系统
  9. MySQL优化之二:My SQL Server性能优化
  10. python迷宫小游戏代码_课内资源 - 基于python实现的迷宫游戏
  11. 语音输入常见六大误区 你中招几条?
  12. ImportError: cannot import name 'PILLOW_VERSION'
  13. 利用python和cloudvolume包从谷歌云盘中多线程下载数据
  14. 测试开发工程师简历模版
  15. 捷径 播报日期、时间、星期
  16. 9月29更新美版T-mobile版本iPhone7代和7P有锁机卡贴解锁方法
  17. 转载:Session与JWT的使用
  18. 正确刷牙的健康小常识
  19. 一篇文了解电商直播的优势和平台
  20. SpringMVC多个拦截器流程简图

热门文章

  1. BlockingQueue(阻塞队列)详解
  2. 共振峰估计2MATLAB
  3. 用Comparator接口进行排序 --java
  4. mysql 5.7修改密码
  5. RPG Maker MV之起始队伍设置
  6. ​程序员如何挣外快?
  7. 【程序源代码】小程序商城系统(CoreShop)
  8. CAD制图初学入门技巧:如何批量生成CAD填充边界?
  9. 2019华为优招-南研所
  10. 使用 PHP 和 MySQL 的安全登录系统