У меня есть база данных MYSQL с некоторыми столбцами и строками.
И я хочу выбрать несколько строк с одинаковыми значениями и суммировать их, а затем отсортировать их.
например:
Id data
1 5
2 12
4 42
2 2
1 3
1 8
4 2
что-то вроде:
данные: (16 идентификатора: 1), (данные: 14 идентификатора: 2), (данные: 44 идентификатора: 4)
для этого я попробовал этот код:
$sql = "SELECT id, SUM(data) AS value_sum FROM table GROUP BY id ORDER BY value_sum DESC LIMIT 30";
$result = mysqli_query($conn, $sql);
$ids = "";
$datas = "";
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result))
{
$ids .= $row['p_id'] . '^';
$datas.= $row['value_sum'] . '^';
}
}
И все работает нормально, и я могу получить сумму значений строк, отсортированных как value_sum
.
Но моя проблема в том, что идентификаторы не отсортированы, и я тоже хочу получить отсортированные идентификаторы, но результат не отсортирован.
Я имею в виду, что в результате я не знаю, могу ли я получить истинный идентификатор для value_sum
.
для более подробного объяснения Я хочу этот результат:
(id 4: 44), (id 1: 16), (id 2: 14)
Как я могу это сделать?