Я искал, но не смог найти решение, которое может быть успешно адаптировано к моему запросу.MySQL, как найти и сравнить значения min и max в одной строке
Я создал базу данных, содержащую рекламные баннеры, и мой скрипт вращается и отображает каждый каждый баннер подряд, однако я пытаюсь добавить запрос, который будет искать в таблице и отображать баннер с самым высоким CTR (щелчок (количество раз, когда был показан баннер) и MAX-клики (количество раз, когда был нажат баннер)
Я пробовал много разных комбинаций поискового запроса, некоторые из них синтаксис неверен, а другие, похоже, имеют правильный синтаксис, но не дают ожидаемых результатов, это последний запрос, который я пробовал:
$query = "SELECT banner_id,banner_url,banner_alt,banner_size FROM banner_ads WHERE $banner_niche$banner_size banner_enable=1 AND banner_impressions=(SELECT MIN(banner_impressions) FROM banner_ads WHERE banner_clicks=(SELECT MAX(banner_clicks) FROM banner_ads));";
$result = mysql_query($query) or die('Query failed: ' . mysql_error() . "\nQuery: $query");
$row = mysql_fetch_array($result, MYSQL_NUM);
$banner_id = $row[0];
$banner_url = $row[1];
$banner_alt = $row[2];
list($banner_width, $banner_height) = split("x", $row[3]);
Примером содержимого поля являются:
banner_id/banners row ID number : 1
banner_url/URL to the banner image : http://somesite.com/banner.jpg
banner_alt/banner alt text : Visit SomeSite.com
banner_size/size of the banner : 468x60
banner_niche/the category of the banner : books
banner_enable/is the banner set to display or not : 1
banner_impressions/number of times banner has been shown : 1000
banner_clicks/number if time banner has been clicked : 50
Так просто мне нужно запросить, чтобы найти таблицу для баннера, который имеет наименьшее количество показов с наибольшим количеством кликов.
----------------------------------------------
banner_id | banner_impressions | banner_clicks
----------------------------------------------
1 | 1000 | 50
2 | 100 | 80
3 | 2000 | 90
----------------------------------------------
Таким образом, в приведенном выше примере banner_id 2 будет соответствовать критериям. (Я пропустил другие поля в примере, потому что они не актуальны)
Спасибо заранее, я надеюсь, что я достаточно хорошо объяснил, чего я пытаюсь достичь.
Что делать, если что-то имеет 50 показов и 100 кликов. а другой - 55 показов и 150 кликов. Что бы вы выбрали? – Scotch
Без этого становится еще сложнее, чем это уже было тогда 50/100 – user2109722