Database schema:

CREATE TABLE relation (
	store_nbr INTEGER -- example: ['2', '1'],
	station_nbr INTEGER -- example: ['1', '14'],
	PRIMARY KEY (store_nbr), 
	CONSTRAINT fk_relation_sales_in_weather FOREIGN KEY(store_nbr) REFERENCES sales_in_weather (store_nbr),
	CONSTRAINT fk_relation_weather FOREIGN KEY(station_nbr) REFERENCES weather (station_nbr)
)


CREATE TABLE sales_in_weather (
	date DATE -- example: ['2012-01-02', '2012-01-01'],
	store_nbr INTEGER -- example: ['2', '1'],
	item_nbr INTEGER -- example: ['2', '1'],
	units INTEGER -- example: ['0', '29'],
	PRIMARY KEY (store_nbr, date, item_nbr)
)


CREATE TABLE weather (
	station_nbr INTEGER -- example: ['2', '1'],
	date DATE -- example: ['2012-01-02', '2012-01-01'],
	tmax INTEGER -- example: ['52', '50'],
	tmin INTEGER -- example: ['11', '31'],
	tavg INTEGER -- example: ['42', '41'],
	depart INTEGER -- example: ['16', '12'],
	dewpoint INTEGER -- example: ['26', '36'],
	wetbulb INTEGER -- example: ['40', '35'],
	heat INTEGER -- example: ['23', '24'],
	cool INTEGER -- example: ['0', '5'],
	sunrise TEXT -- example: ['07:16:00', '07:15:00'],
	sunset TEXT -- example: ['16:27:00', '16:26:00'],
	codesum TEXT -- example: ['RA FZFG BR', ' '],
	snowfall REAL -- example: ['0.0', '0.05'],
	preciptotal REAL -- example: ['0.05', '0.01'],
	stnpressure REAL -- example: ['29.78', '29.44'],
	sealevel REAL -- example: ['29.62', '29.92'],
	resultspeed REAL -- example: ['9.8', '3.6'],
	resultdir INTEGER -- example: ['24', '20'],
	avgspeed REAL -- example: ['4.6', '10.3'],
	PRIMARY KEY (station_nbr, date)
)

Question: What is the difference between the units sold for item 1 when the sunset was the earliest and the latest?
Evidence: item 1 refers to item_nbr = 1; when the sunset earliest refers to Min(sunset); latest sunset refers to Max(sunset); difference unit sold refers to Subtract(Sum(units where Min(sunset)), Sum(units where Max(sunset)))

SQL:
SELECT ( SELECT SUM(T2.units) AS sumunit FROM weather AS T1 INNER JOIN sales_in_weather AS T2 ON T1.`date` = T2.`date` INNER JOIN relation AS T3 ON T2.store_nbr = T3.store_nbr WHERE T2.item_nbr = 5 AND sunset IS NOT NULL GROUP BY T1.sunset ORDER BY T1.sunset LIMIT 1 ) - ( SELECT SUM(T2.units) AS sumunit FROM weather AS T1 INNER JOIN sales_in_weather AS T2 ON T1.`date` = T2.`date` INNER JOIN relation AS T3 ON T2.store_nbr = T3.store_nbr WHERE T2.item_nbr = 5 AND sunset IS NOT NULL GROUP BY T1.sunset ORDER BY T1.sunset DESC LIMIT 1 )