У меня есть сайт с PHP-скриптом, этот скрипт имеет SQL-запрос внутри возвращаемых данных, к которым обращается файл JavaScript. Данные представляют собой огромный список полетных данных, и мне нужно выбрать (допустим) случайные 40% от общего количества рейсов за каждый указанный день. Для аргументов давайте сделаем следующее:
$query = "SELECT * FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' "; 
  Я понимаю, что для получения случайного числа строк вы просто используете ORDER BY RAND() LIMIT 40' и в идеале я хочу сказать LIMIT 40% но это не работает. 
РЕДАКТИРОВАТЬ:
 $query = "SELECT * FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' "; $row = mysqli_fetch_row($result); $total = $row[0]; $percent = $total * 0.40; $query = "SELECT * FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' LIMIT . $percent "; 
  Вы можете COUNT все записи, а затем вычислить % вам нужно следующим образом: 
 $query = "SELECT COUNT(*) FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' "; $result = mysqli_query($connection,$query); $row = mysqli_fetch_row($result)); $total = $row[0]; $percent = intval($total * 0.40); $query = "SELECT * FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' LIMIT ". $percent; //execute your query.... 
Поскольку вы используете php-скрипт, вы сможете достичь того, чего хотите. Что вы можете сделать, получите общее количество строк в таблице, которое выглядит следующим образом:
 SELECT count(*) AS Total FROM Flight_Data 
С помощью php вы можете вычислить 40% этой суммы.
Допустим, что $ myPercent содержит рассчитанные 40% от общего числа. Вы можете использовать значение $ myPercent в пределе как
 $query = "SELECT * FROM `Flight_Data` WHERE DepDateTimeUTC LIKE '%1/1/14%' LIMIT ".$myPercent; 
Здесь мы избегаем переменной php из строки запроса mysql, которая является хорошей практикой.
  В mysql % используется в качестве подстановочного знака, поэтому его нельзя использовать, как вы думали, вы можете ограничить. 
Надеюсь, это вам помогло.