title: Delete all but 5 newest entries in MySQL table
body: <p>I currently have PHP code that handles the logic for this because I do not know how to handle it in SQL. I want to create a stored procedure that will delete all the rows except for the 5 newest for a given config_id. IE config_id = 5 gets passed to the SP so it knows which config_id it is looking to clean up.</p>
  
  <pre><code>CREATE TABLE  `TAA`.`RunHistory` (
    `id` int(11) NOT NULL auto_increment,
    `start_time` datetime default NULL,
    `stop_time` datetime default NULL,
    `success_lines` int(11) default NULL,
    `error_lines` int(11) default NULL,
    `config_id` int(11) NOT NULL,
    `file_id` int(11) NOT NULL,
    `notes` text NOT NULL,
    `log_file` longblob,
    `save` tinyint(1) NOT NULL default '0',
    PRIMARY KEY  (`id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=128 DEFAULT CHARSET=utf8;
  </code></pre>
  
  <p>Newest will be determined by start_time, if a stop_time is null but NOT the newest it should be deleted (stop_time can be null if a run was unceremoniously killed).</p>