mysql - SQL中两个组成行的一列之间的区别

标签 mysql sql

我需要计算表格的两个构成行的一列之间的差异。 表结构如下(为demo):

Table:

 Id Name Age

 1  xman  30

 2  yman  40

 3  zman  55

因此,在此表中,我需要计算年龄之间的差异,如果年龄大于 10,我需要获取该人的姓名。 可以通过SQL吗? 我该怎么做,请帮忙。

最佳答案

在 MySQL 中你可以使用 User Defined Variables获取前一行的值:

SELECT Name 
FROM
(  SELECT T.*,
       @prev as previousAge,
       @prev:=Age
   FROM T,(SELECT @prev:=NULL) as t1
   ORDER BY ID
) as T3
WHERE Age-previousAge>10

SQLFiddle demo

关于mysql - SQL中两个组成行的一列之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23947882/

相关文章:

关系系统数据的 MySQL 数据库模式

sql - 如何使 ssrs 矩阵中的列不可见

mysql - MariaDB 事件流动态列?

mysql - Hibernate 不生成唯一约束

mysql - 从 MySQL 表中删除重复行

mysql - 如何在mysql中减去两个结果值

java - 取消 SQL 字符串引号的方法

sql - 我可以在 Pentaho Report Designer 的查询中使用用户定义的数据库函数吗?

mysql - 尾随求和查询

mysql - 如何检查一条记录是否已经存在于sql表中?