2016-05-02 6 views
1

私はMySQLとPHPで作業しています。連続する行の違いを計算するクエリを取得しようとするといくつかの問題があります。MySQL - 行の違いを計算する

私が必要とするのは、各行の違いを各チャネルのURLについてdata_views,data_sub & data_videosとすることです。

Table Image

+0

あなたは何かを試しましたか、あなたの任務のために助けを求めると思ったことはありますか – Ash

+0

ids 1-3、3-4、4-5の違いを計算したいのですか? – Qirel

+0

これらの値を配列に入れてから、配列の値を減算するだけですか? – stackunderflow

答えて

1

あなただけA.channel_urlのORDER BY句を削除発注したくないthis..if試してみてください:誰もがここに私のテーブル構造だ:)

助けることができるかどうか

ははるかに高く評価します。 。

SELECT 
    A.*, 
    A.data_views - IFNULL(B.data_views, A.data_views) AS data_views_diff, 
    A.data_subs - IFNULL(B.data_subs, A.data_subs) AS data_subs_diff, 
    A.data_videos - IFNULL(B.data_videos, A.data_videos) AS data_videos_diff 
FROM 
    my_table A 
    LEFT JOIN my_table B 
    ON B.id = 
    (SELECT 
     MIN(id) 
    FROM 
     my_table C 
    WHERE C.id > A.id 
     AND C.id != A.id 
     AND C.channel_url = A.channel_url) 
ORDER BY A.channel_url; 

チェックFiddle