Существует таблица Balans:
CREATE TABLE IF NOT EXISTS `Balans` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_job` int(11) NOT NULL,
`idn` varchar(100) NOT NULL,
`type` enum('marks','tops') NOT NULL,
`amount` int(11) NOT NULL,
`status` enum('up','down') NOT NULL,
`reason` varchar(300) NOT NULL,
`date` varchar(35) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=458 ;
INSERT INTO `Balans` (`id`, `id_job`, `idn`, `type`, `amount`, `status`, `reason`, `date`) VALUES
(45, 0, '187113012', 'marks', 500, 'down', '', '27-06-2013 23:21'),
(46, 0, '187113012', 'tops', 500, 'down', '', '27-06-2013 23:21'),
(47, 0, '6299927', 'marks', 12, 'down', '', '27-06-2013 23:22'),
(48, 0, '6299927', 'tops', 12, 'down', '', '27-06-2013 23:22'),
(73, 0, '187113012', 'marks', 900, 'up', '', '27-06-2013 23:23'),
(74, 0, '187113012', 'tops', 900, 'up', '', '27-06-2013 23:23'),
(75, 0, '6299927', 'marks', 324, 'up', '', '27-06-2013 23:25'),
(76, 0, '6299927', 'tops', 324, 'up', '', '27-06-2013 23:25');
Как получить TOP 5 idn где разница всех amount marks up и всех amount marks down по данному idn будет наибольшей в порядке убывания этой разницы?
SQLFiddle http://sqlfiddle.com/#!2/5f886e
Это возможно сделать и как если возможно?