ОК. У меня есть этот запрос, который дает мне DISTINCT product_series плюс все остальные поля в таблице:
SELECT pi.*
FROM (
SELECT DISTINCT product_series
FROM cart_product
) pd
JOIN cart_product pi
ON pi.product_id =
(
SELECT product_id
FROM cart_product po
WHERE product_brand = "everlon"
AND product_type = "'.$type.'"
AND product_available = "yes"
AND product_price_contact = "no"
AND product_series != ""
AND po.product_series = pd.product_series
ORDER BY product_price
LIMIT 1
) ORDER BY product_price
Это отлично работает. Я также заказываю по цене, чтобы получить начальную цену для каждой серии. Ницца.
Однако сегодня мой начальник сказал мне, что все продукты, которые отображаются по этому запросу, имеют metal_type
белое золото И он хочет показать случайные типы металлов. поэтому я добавил RAND () к заказу после цены ORDER BY, чтобы я все еще получал самую низкую цену, но случайный металл по самой низкой цене .. вот новый запрос:
SELECT pi.*
FROM (
SELECT DISTINCT product_series
FROM cart_product
) pd
JOIN cart_product pi
ON pi.product_id =
(
SELECT product_id
FROM cart_product po
WHERE product_brand = "everlon"
AND product_type = "'.$type.'"
AND product_available = "yes"
AND product_price_contact = "no"
AND product_series != ""
AND po.product_series = pd.product_series
ORDER BY product_price, RAND()
LIMIT 1
) ORDER BY product_price, RAND()
Когда я запускаю этот запрос, MySQL полностью отключается и сообщает мне, что слишком много подключений И я получаю телефонный звонок от администратора хоста, спрашивающего меня, что, черт возьми, я сделал.
Я не верил, что это может быть просто добавлением RAND () к запросу, и я подумал, что это должно быть совпадением. Я подождал несколько часов после того, как все было исправлено, и снова выполнил запрос. Сразу ... тот же вопрос.
Так что происходит? Потому что я понятия не имею. Что-то не так с моим запросом?
Спасибо !!!!