#php #html #mysqli
#php #HTML #mysqli
Вопрос:
У меня есть таблица с разными порядковыми номерами и значениями. Я хочу показать каждый уникальный порядок, а также рассчитать среднее значение из каждого уникального порядка. Чтобы показать каждый уникальный порядок, у меня есть этот код.:
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Orders</th>
<th>X</th>
<th>s</th>
<th>Cp</th>
<th>CpK High</th>
<th>CpK Low</th>
</tr>
</thead>
<tbody>
<?php
include 'database.php';
$results_per_page = 10; // number of results per page
$pdo = Database::connect();
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $results_per_page;
$sql = "SELECT DISTINCT Orders FROM metingen ORDER BY Orders DESC LIMIT $start_from, ".$results_per_page;
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['Orders'] . '</td>';
echo '</tr>';
}
Database::disconnect();
?>
</tbody>
</table>
Я знаю, как вычислить среднее значение в sql с помощью этого кода.:
SELECT AVG(KleurL) AS AverageKleurL FROM metingen;
Но как мне объединить это в одном sql, чтобы я видел каждый порядок с вычисленным значением KleurL?
Я выполняю поиск в Google и подумал, что объединение команд sql должно сработать, но я не знаю, как это использовать.
Кто-нибудь может мне помочь, пожалуйста?
Ответ №1:
Вы ищете что-то вроде приведенного ниже?
SELECT DISTINCT aa.Orders,
bb.AverageKleurL
FROM metingen aa
JOIN
(SELECT AVG(KleurL) AS AverageKleurL
FROM metingen) AS bb
ORDER BY aa.Orders
Или вы ищете это?
SELECT Orders,
AVG(KleurL) AS AverageKleurL
FROM metingen
GROUP BY Orders
ORDER BY Orders
Комментарии:
1. Последнее, что я пробовал раньше, но оно вычисляет среднее значение по всем KleurL и не ищет уникальные заказы с правильным средним значением. Первый, который я пытаюсь сейчас, но как мне вызвать столбцы для чтения? Обычно я использую $row [‘Orders’] , как мне называть их вот так $ row [‘aa.Orders’]?
2. Вы просто используете $row[‘Orders’]
3. Второй SQL вычисляет среднее значение для строк с одинаковым значением Orders.