mysql同一个表比较_比较mysql中同一个表中的行
您可以执行“自联接”(将表连接到自身)来执行查询.这里棘手的部分是知道行插入表中的顺序,并且仅比较顺序(时间上)相邻的行.我假设您有某种TIMESTAMP列,它会告诉您之前的价格变化.如果没有,则可能“ID”可以通知您(较小的ID之后插入的ID更大的行).
调用表’TAB’,使用’TRADER’提供连接,并使用’ID’提供Order,查询将需要三向自连接,如下所示:
SELECT a.trader
, SUM(IF(a.price > b.price, 1, 0)) nbr_incr
, SUM(IF(a.price < b.price, 1, 0)) nbr_decr
, SUM(IF(a.price = b.price, 1, 0)) nbr_same
FROM tab a
JOIN tab b
ON a.trader = b.trader AND a.id > b.id
LEFT OUTER JOIN tab c
ON a.trader = c.trader AND a.id > c.id AND b.id < c.id
WHERE c.id IS NULL
GROUP BY a.trader
上面的查询将表连接到自身两次,以便每个选项卡代表以下内容:
> tab a:用于比较的最近一行
> tab b:要比较的前一行
> tab c:a&之间的一行. b时间(不应该存在)
我们对’tab c’执行LEFT OUTER JOIN,因为我们实际上并不希望该行存在.在where子句中,我们仅将结果过滤到“tab c”行不存在的结果.
最后,查询在交易者上执行’GROUP BY’,而SUM()通过比较’a’和’b’行的价格来增加和减少.
这是一个有趣的挑战.希望这可以帮助!
约翰…
mysql同一个表比较_比较mysql中同一个表中的行相关推荐
- hive能加快MySQL查询速度吗_建立索引可以加快表中数据查询的速度吗
首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合. 如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特 ...
- mysql中什么来维护表之间_转mysql维护索引和表
即使用正确的类型创建了表并加上了合适的索引,工作也没有结束,还需要维护表和索引来确保他们都正常工作.维护表有三个主要的目的:找到并修复损坏的表,维护准确的索引统计信息,减少碎片. 一.找到并修复损坏的 ...
- mysql清空数据库中所有表数据_清空mysql数据库所有表数据
1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码 ...
- mysql mvcc 隔离级别_关于 Mysql 四种隔离级别中 Lock 和 MVCC 的关系
读写锁 共享锁(share lock)| 读锁(read lock) 读锁是共享的,或者说是相互不阻塞的.多个客户在同一时刻可以同时读取同一个资源,而互不干扰 SELECT ... LOCK IN S ...
- mysql查看当前表字符集_查看mysql字符集及修改表结构--表字符集,字段字符集
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- mysql 数据展示装置_实时生成数据宽表的方法和装置与流程
本发明涉及计算机技术领域,尤其涉及一种实时生成数据宽表的方法和装置. 背景技术: 数据仓库是面向主题的.集成的.相对稳定的.随时间不短变化得数据集合,用以支持经营管理中的决策制定.数据仓库中的数据面向 ...
- mysql 添加int列_在MySQL中现有的int列的值中添加字符?
要将字符添加到现有的int列值中,请使用MySQL CONCAT().让我们首先创建一个表-mysql> create table DemoTable ( Amount int ); 使用插入命 ...
- mysql数据库五大约束_数据库基础知识:数据库中的约束和三大范式
一.数据库中的范式: 范式,英文名称是NormalForm,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计 ...
- mysql 日志表设计_在mysql 使用binlog日志
一. 利用binlog恢复库表 策略: 1.启用binlog日志 2.创建db1库tb1表,插入3条记录 3.删除tb1表中刚插入的3条记录 4.使用mysqlbinlog恢复删除的3条记录 步骤一: ...
- mysql怎么多表备份_学习MySQL多表操作和备份处理
[IT168 服务器学院]前面我们熟悉了数据库和数据库表的基本操作,现在我们再来看看如何操作多个表. 多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的.我们继续使用前面的例子.前面建立的 ...
最新文章
- C++模板详解——使用篇
- python安装虚拟环境没有activate_Python venv虚拟环境:Activate命令的作用
- 如何检查防火墙引起的端口不通
- rapidjson的read和write的sample
- ReactiveX流式编程—从xstream讲起
- 由浅入深,解决三道【只出现一次的数】!
- Ceph 常见错误 及设置
- 线下见面会,下一站定啦!
- BAT批处理自动安装软件
- 计算机学打字教案小学,6 用金山打字通练指法
- 操作系统的概念(定义)
- 移动端旅游电商靠什么吸引了金主?
- 数据结构与算法 学习笔记(陈越)
- 并发编程之四:并发之共享问题、线程安全、synchronized关键字
- git pull 报错:Exiting because of unfinished merge.
- 列联表相关测量--c相关系数
- debian中网易云音乐打不开的一种解决方法
- 爬在NLP的大道上——Question Answering Infused Pre-training of General-Purpose Contextualized Representations
- 如何让mysql数据库允许被远程连接访问
- canvas 裁剪签名图片 去除多余的空白
热门文章
- 利用Snippet快捷键在TeXpad上快速初始化中文环境的LaTeX模板
- 关于ascii编码的原理,特征及用途
- java: JDK isn‘t specified for module ‘maven-junit41‘解决办法
- Jmeter:Generate HTML report 导出HTML测试报告
- 【linux】centos7 升级gcc版本
- 185.[USACO Oct08] 挖水井 (第三次考试大整理)
- mysql 字符集 性能_MySQL字符集不一致导致性能下降25%,你敢信?
- MD5加密js-md5
- 电脑中了virus.win32.sality.i和virus.win32.pioneer.c病毒,导致所以的EXE文件打不开(打开浏览器会提示:xc0000005异常)
- 有计算机考试励志的文案,写给所有考生的励志文案:心有所期,全力以赴,定有所成...