1. SELECT DISTINCT `C`.`services`,`C`.`category_id`,`CD`.`category`,`COM`.`company`,`CUR`.`price` AS `currency_rate`,IF(`HP`.`created_at`, MAX(`HP`.`created_at`), `P`.`timestamp`) AS `price_update_time`,`P`.`amount`,`P`.`city_id`,`P`.`brand_id`,`P`.`company_id`,`P`.`city_place`,`P`.`conditions`,`P`.`guarantee_id`,`P`.`type_of_sale`,`P`.`product_code`,`P`.`product_id`,`P`.`status`,`P`.`year`,`P`.`uniqueSale`,`P`.`is_confiscated`,`P`.`updated_timestamp`,`PC`.`category_id` AS `main_category`,`PD`.`full_description`,`PD`.`short_description`,`PD`.`leasingCount`,`PD`.`leasingPrice`,`PD`.`product`,`PP`.`currency`,`PP`.`discount_percent`,`PP`.`price`,`PP`.`recycling_price_rub`,((PP.price * COALESCE(CUR.price, 1)) * (1 - PP.discount_percent / 100) + PP.recycling_price_rub) AS total_price,CASE WHEN `GC`.`compare_id` IS NOT NULL THEN "Y" ELSE "N" END AS `compare`,CASE WHEN `GW`.`wishlist_id` IS NOT NULL THEN "Y" ELSE "N" END AS `wish`,IF(`CITY`.`city_id` IS NULL, 0, 1) as city_priority,CITY.address,(select count(*) from `?:product_stocks` where product_id = P.product_id) as stockCount,COALESCE(FILE.path, "") AS image,COALESCE(IMG.alt, "") AS image_alt FROM `?:products` AS `P` LEFT JOIN `?:guest__wishlist` AS `GW` ON `P`.`product_id` = `GW`.`product_id` AND `GW`.`guest_id` = 0 LEFT JOIN `?:guest__compare` AS `GC` ON `P`.`product_id` = `GC`.`product_id` AND `GC`.`guest_id` = 0 LEFT JOIN `?:product_stocks` AS `PST` ON `P`.`product_id` = `PST`.`product_id` LEFT JOIN `?:company_stocks` AS `CST` ON `PST`.`stock_id` = `CST`.`stock_id` LEFT JOIN `?:custom_city` AS `CITY` ON `CITY`.`fias_id` = `CST`.`fias_id` LEFT JOIN `?:product_prices_history` AS `HP` ON `HP`.`product_id` = `P`.`product_id` LEFT JOIN `?:products__images` AS `IMG` ON `P`.`product_id` = `IMG`.`product_id` LEFT JOIN `files` AS `FILE` ON `FILE`.`id` = `IMG`.`watermark_small_file_id` LEFT JOIN `?:companies` AS `COM` ON `COM`.`company_id` = `P`.`company_id` INNER JOIN `?:products_categories` AS `PC` ON `PC`.`product_id` = `P`.`product_id` AND `PC`.`link_type` = 'M' INNER JOIN `?:categories` AS `C` ON `C`.`category_id` = `PC`.`category_id` INNER JOIN `?:category_descriptions` AS `CD` ON `C`.`category_id` = `CD`.`category_id` LEFT JOIN `?:product_prices` AS `PP` ON `PP`.`product_id` = `P`.`product_id` LEFT JOIN `?:product_descriptions` AS `PD` ON `PD`.`product_id` = `P`.`product_id` AND `PD`.`lang_code` = 'ru' LEFT JOIN `?:currencies` AS `CUR` ON `PP`.`currency` = `CUR`.`currency_code` WHERE 1 AND `P`.`status` = 'A' AND `P`.`company_id` = 102 AND `COM`.`status` = 'A' GROUP BY `P`.`product_id` ORDER BY city_priority DESC,updated_timestamp DESC LIMIT 0, 20