У меня есть представление с большим количеством данных. Я получил эти результаты, используя подзапросы (данные, которые хорошо и оптимизировано):Неверный результат с использованием суммы в MySQL
+------------+
| attendance |
+------------+
| 319 |
| 102 |
| 598 |
| 113 |
| 6 |
| 279 |
| 366 |
| 146 |
| 669 |
| 205 |
| 123 |
+------------+
В следующий раз некоторые данные для обновления пользователей, это показывает, что это:
+------------+
| attendance |
+------------+
| 319 |
| 102 |
| 598 |
| 113 |
| 7 |
| 279 |
| 253 |
| 146 |
| 669 |
| 561 |
| 123 |
+------------+
Что хорошо, потому пользователю что обновление информации было тем, что до этого было 6 в качестве посещаемости.
Но проблема возникает, когда я использую, что данные о качестве TempTable, а затем я делаю:
SELECT SUM(attendance) AS total FROM (/* Subquery returning the above table */)
причина возвращается (в первую очередь с один пользователь, имеющий 6, как посещаемость):
+-------+
| total |
+-------+
| 3169 |
+-------+
И с 7:
+-------+
| total |
+-------+
| 3128 |
+-------+
Когда это должно быть 3170 !!!
Идеи?
EDIT 1: Вставьте полный запрос.
SELECT SUM(att_member) AS total
FROM
(SELECT attendance AS att_member
FROM
(SELECT id_branch_channel, id_member, attendance, TIMESTAMP, id_event
FROM view_event_attendance
WHERE id_event = 782
ORDER BY TIMESTAMP DESC) AS temptable
GROUP BY
id_member) AS total_attendance_temp
EDIT 2: Оклейка помощь запрос я получил здесь
Select only last value using group by at mysql
Вот схема представления.
Либо это ошибка MySQL, либо проблема с подзапросом. Я делаю ставку на подзапрос :) Можете ли вы опубликовать его? –
, если запросы необычайно огромны/уродливы, можете ли вы показать их здесь? –
Также обратите внимание, что списки значений в вашем посте имеют отличия от 6 и 7 в строке 5. Ряд 7 также имеет 366 в первом списке и 253 во втором, а строка 10 имеет 205 в первом списке и 561 в второй. –