SELECT SQL_CALC_FOUND_ROWS
*,
(
SELECT
offers_meta.meta_value
FROM
offers_meta
WHERE
offers_meta.meta_name = 'nacenka' AND offers.offer_id = offers_meta.offer_id
ORDER BY
offers_meta.id
LIMIT 1
) AS lastprice
FROM
offers
WHERE
(lastprice IS NOT NULL) or (
offers.master = 0 OR offers.master = 4
) AND offers.hold < 1500817610 AND offers.status = 'on sale'
ORDER BY
offers.price
DESC
LIMIT 0, 25
$res = mysql_query("SELECT SQL_CALC_FOUND_ROWS offers.offer_id, offers.ref, offers.carat, offers.color, offers.clarity, offers.lab, offers.price, offers.master, offers_meta.meta_value, offers_meta.id
FROM offers
LEFT OUTER JOIN (SELECT * FROM `offers_meta` ORDER BY `offers_meta`.`id` DESC) offers_meta
ON offers.offer_id = offers_meta.offer_id
WHERE (offers_meta.offer_id IS NOT NULL AND offers_meta.meta_name = 'nacenka') or (offers.master = 0 or offers.master = {$_SESSION['user_id']})
$sort and offers.hold < $datenow and offers.status = 'on sale'
GROUP BY offers.offer_id
ORDER BY master DESC
$limit");
$pages = mysql_query("SELECT FOUND_ROWS()");
$pages = mysql_result($pages, 0);
SELECT SQL_CALC_FOUND_ROWS *
FROM offers
LEFT OUTER JOIN (SELECT * FROM `offers_meta` ORDER BY `offers_meta`.`id` DESC) offers_meta
ON offers.offer_id = offers_meta.offer_id
WHERE (offers_meta.offer_id IS NOT NULL AND offers_meta.meta_name = 'nacenka') or (offers.master = 0 or offers.master = {$_SESSION['user_id']})
$sort and offers.hold < $datenow and offers.status = 'on sale'
GROUP BY offers.offer_id
ORDER BY master DESC
$limit
кстати что быстрее? дергать мету вот так раз она нужна для запроса или уже в цикле каждый раз дёргать? индекс только по id