Группировка группы уведомлений

у меня есть notifications Стол со мной:

+----+------+--------+--------+------------+
| ID | User | Object | Action | TimeStamp  |
+----+------+--------+--------+------------+
|  1 |    1 |      3 | Like   | 2014-05-01 |
|  2 |    2 |      3 | Like   | 2014-05-01 |
|  3 |    3 |      3 | Like   | 2014-05-01 |
|  4 |    3 |      5 | Share  | 2014-05-01 |
+----+------+--------+--------+------------+

Если вы видите, пользователи 1, 2, 3 понравился один и тот же объект 3, В окне уведомлений, если мы просто дадим простой SELECT запрос, он показывает так:

  • пользователь 1 понравился объект 3, 2 минуты назад
  • пользователь 2 понравился объект 3, 2 минуты назад
  • пользователь 3 понравился объект 3, 2 минуты назад
  • пользователь 3 поделился объект 5, 2 минуты назад

Но так как действие было выполнено для того же объекта, я хотел бы объединить или сгруппировать уведомления следующим образом:

  • пользователей 1, 2, 3 понравился объект 3, 2 минуты назад
  • пользователь 3 поделился объект 5, 2 минуты назад

У меня есть следующие вопросы:

  1. Как мне сгруппировать / связать уведомления?
  2. Мой notifications схема таблицы правильная?

1

Решение

select object, action, group_concat(`user`) as users
from notifications
group by object, action
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]