DELIMITER $$ DROP PROCEDURE IF EXISTS `www`.`GetInventoryList`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `GetInventoryList`(page INT,pageCount INT) BEGIN DECLARE pageFilter INT; SET pageFilter = ((page-1) * pageCount); SET @strSql = CONCAT('SELECT a.* FROM tblInventory a LEFT JOIN ( SELECT inv_id,version FROM tblInventory LIMIT ',pageFilter,') b ON b.inv_id = a.inv_id AND b.version = a.version WHERE b.inv_id IS NULL LIMIT ',pageCount); PREPARE stmt FROM @strSql; EXECUTE stmt; END$$ DELIMITER ;