SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE IF NOT EXISTS `prices` ( id int primary key, size int, price int, date_time date ); INSERT INTO `prices` VALUES (0, 30, 800, '2021-10-01'), (1, 30, 900, '2021-10-02'), (2, 32, 700, '2021-09-11'), (3, 30, 800, '2021-09-21'), (4, 32, 800, '2021-09-01'), (5, 32, 0, '2021-10-03'); SELECT prices.* FROM `prices` JOIN ( SELECT size, MAX(date_time) date_time FROM prices GROUP BY size ) last_price USING (size, date_time) WHERE -- model_id = '269' AND partner_id = '0' AND size <= '32' AND date_time <= '2021-10-19' ORDER BY size DESC, date_time DESC; SELECT * FROM ( SELECT prices.*, ROW_NUMBER() OVER (PARTITION BY size ORDER BY date_time DESC) last_price FROM `prices` WHERE -- model_id = '269' AND partner_id = '0' AND size <= '32' AND date_time <= '2021-10-19' ) data WHERE last_price = 1 ORDER BY size DESC;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear