mysql - Difference between rows -



mysql - Difference between rows -

i add together existent query 2 new columns. in first one, create diff between current row , next 1 , in next 1 count values between rows.

my current query is:

select *, sum(minute(rest_time)) times routes routes left bring together sales on (routes.departure_poi_code = sales.client_code , routes.departure_date = sales.`date`) (routes.departure_poi_code 'c0%' or routes.departure_poi_code 'mp%') , routes.`car_no` = 'bh-07-ewr' , routes.departure_date = '2011-10-14' grouping routes.departure_address, reports.routes.departure_poi_code, reports.routes.car_no, reports.routes.departure_date order routes.car_no limit 500000

and result of current query like:

car_numbr str_time cod_nr km bh-07-ewr 08:59:00 c00425 7000 bh-07-ewr 10:29:00 c00149 8500 bh-07-ewr 14:27:00 c01075 9200 bh-07-ewr 15:07:00 c00305 9800 bh-07-ewr 16:08:00 c02572 9900

of course of study contains more columns irrelevant display of them here.

the story auto create row2.km-row1.km client 1 client 2 on. of course of study cars km 1 has on board. , be:

car_number start_time code_nr km total_km diff_km bh-07-ewr 08:59:00 c00425 7000 0 (km counter starting 0) 0 (first row show have 0) bh-07-ewr 10:29:00 c00149 8500 1500 (0+8500-7000) 1500 (8500-7000) bh-07-ewr 14:27:00 c01075 9200 2200 (upper result+9200-8500) 700 (9200-8500) bh-07-ewr 15:07:00 c00305 9800 2800 (upper result+9800-9200) 600 (9800-9200) bh-07-ewr 16:08:00 c02572 9900 2900 (upper result+9900-9800) 100 (9900-9800)

how can accomplish easiest way?

store result temporary table (create temporary table...select...), utilize query calculate values -

select c.*, @diff:=if(@prev_km null, 0, km - @prev_km) diff_km, @prev_diff_km:=if(@prev_diff_km null, 0, @prev_diff_km + @diff) total, @prev_km:=km car_temp c, (select @prev_km := null, @prev_diff_km:=null) t

mysql

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -