Mysql行间差异

标签 mysql sql

我想通过给定的以下数据获取 2 行汽车的价格差异。 我想减去价格列例如:(200-100),(300-200)等作为数据

我的 table :

enter image description here

My desired output:

我尝试过的

select t1.row_num1,t1.car_name
from
(
    select (@row_num := @row_num +1) as row_num1 ,(select @row_num =0) r1, car_name,price  
    from car
)t1

我知道我没有 id 列。因此我正在生成 row_number。 现在我遇到了 self 加入这张表并获得差异的问题。 您的帮助非常重要。

最佳答案

试试这个

set @next_row_price := null;
SELECT car_name , price, diff FROM(
  SELECT car_name,price,(@next_row_price - price) * -1 AS diff, 
  IF(@next_row_price IS NULL, @next_row_price := price, 0) ,
  IF(@next_row_price IS NOT NULL, @next_row_price := price, 0) 
FROM car 
) AS TEMP;

SQLFiddle

关于Mysql行间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793316/

相关文章:

sql - 使用 try-catch block 在 Sql-Server 中删除表

php - Yii CDbCriteria 将 2 个属性与单个值进行比较

c# - MySql查询: get all customers that has their ID in both Customer and Customer_x_Billing table

mysql - 条件不起作用的 NULL 值

php - 是否可以使用 woocommerce 将数据保存到两个数据库?

mysql - SQL Server 和 MySQL 最大可用表数

mysql - 如何让 MySQL 5.5 中的工作查询在 MySQL 5.7 中工作?

Mysql - 你能在一种情况下检查空白字符串和 0 吗?

PHP - MySQLi INSERT 不工作

sql - 为什么使用 phone = N'123 4' slower than phone = ' 1234' 查询?