try this
With Cte as
(Select mid,MAX(price)-MIN(price) as diff from test group BY mid,dated)
SELECT mid from cte where DIFF=(select MAX(diff) from cte)
My table and sample insert
CREATE table test
(Price decimal(18,2),
volume int,
mid int,
dated datetime)
INSERT INTO test values
(574.07, 16106, 1, ' 2012-12-18'),
(572.94, 15044 , 1, '2012-12-18'),
(576.78 , 14197, 1 , '2012-12-18'),
(999.28 , 39669, 2, '2012-12-19'),
(999.67 , 37937 , 2, '2012-12-19'),
(1006.89 , 37274 , 2, '2012-12-19'),
(870.91 , 56737, 3 , '2012-12-20'),
(865.31 , 49047, 3 , '2012-12-20'),
(865.00 , 43507, 3 , '2012-12-20')