Я создал таблицу в базе данных, которая отображает дату, пользователя, значение. Ниже приведен пересмотренный дизайн:
Date | User | Value
---------- | ----- | -----
Таким образом, у каждого пользователя есть счет того, какие представления они сделали, совпадая через дату. Результаты отображаются по этому запросу из базы данных.
SELECT * FROM testreport
Пожалуйста, смотрите новый дизайн ниже, как указано в комментариях, я добавил итоговую строку в конце.
Date | User1 | User2 | User3 | Value
---------- | ----- | ----- | ----- | -----------
23-02-2017 | 2 | 5 | 9 | 16
24-02-2017 | 5 | 7 | 11 | 23
25-02-2017 | 6 | 13 | 1 | 20
Но то, что я пытаюсь достичь, — это выбрать таблицу и указать итоговую сумму в последнем ряду, как это, как мне поступить так:
Date | User1 | User2 | User3 | Value
---------- | ----- | ----- | ----- | -----------
23-02-2017 | 2 | 5 | 9 | 16
24-02-2017 | 5 | 7 | 11 | 23
25-02-2017 | 6 | 13 | 1 | 20
Total | 13 | 25 | 21 | 59
но я не могу указать имена столбцов, как Как рассчитать итоговую строку, используя таблицу PIVOT, без UNION, ROLLUP или CUBE?. Потому что время от времени к этой таблице будут добавляться дополнительные пользователи, но я хочу, чтобы в конце я мог получить все столбцы с итогами. На моем сайте я использую PHP для отображения таблицы на странице с кодом:
$sqlres = "SELECT * FROM testreport order by Date DESC ";
$resultsql = mysqli_query($sqlres) or die(mysql_error());
echo "<table><tr>";
for($i = 0; $i < mysqli_num_fields($resultsql); $i++) {
$field_info = mysqli_fetch_field($resultsql, $i);
echo "<th>{$field_info->name}</th>";
}
// Print the data
while($rows = mysqli_fetch_row($resultsql)) {
echo "<tr>";
foreach($rows as $_column) {
echo "<td>{$_column}</td>";
}
echo "</tr>";
}
echo "</table>";
Который отображает заголовки и строки такими, какими я хотел бы их видеть, и любого нового пользователя, которого я добавляю в столбец таблицы «testreport», он автоматически добавляет дополнительный столбец на странице, как мне добиться объединения этих столбцов, чтобы получить общее количество.
Любая помощь в этом будет оценена.
Задача ещё не решена.
Других решений пока нет …