Mysql запрос '=' работает некорректно

Всем привет. Я делаю такой запрос к бд mysql:

$buy_info = mysqli_query($mysqli, "SELECT DISTINCT `user_name`, `price`, `size`, `link`, `pay`, `limit_min`, `limit_max`, `time`, `color` 
    FROM `RUB`
    WHERE
        price = (
           SELECT MIN(`price`) 
           FROM `dress` 
           WHERE `color` LIKE '%blue%' 
               AND `size` = '52' 
               AND `limit_min` = 40000"
        )

То есть хочу вывести только значения, в которых колонка limit_min равна 40000. Но вместо этого мне просто выводятся все значения, игнорируя это условие. НО. Если я введу значение 35000, которого вообще нет в таблице, то не выведется абсолютно ничего. То есть это условие есть и скрипт его видит, но почему-то работает неверно.

Вывожу в php через цикл

while ($pay_buy = mysqli_fetch_assoc($buy_info)) {
    echo $pay_buy['user_name'];
    echo " >>> ";
    echo $pay_buy['price'];
    echo "<br>";
}

Ответы (1 шт):

Автор решения: Владимир Клыков

Если я верно понял что вам выводит запрос, и что нужно то примерно так:

SELECT DISTINCT 
  `user_name`, 
  `price`, 
  `size`,
  `link`,
  `pay`,
  `limit_min`,
  `limit_max`,
  `time`,
  `color` 
FROM
  `RUB`
WHERE
  `limit_min` = 40000  /*фильтр нужно писать не в подзапросе*/
  AND price = (
               SELECT 
                 MIN(`price`)
               FROM
                 `dress`
               WHERE 
                 `color` LIKE '%blue%' 
                 AND `size` = '52'
               )
→ Ссылка