
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.03.2014, 18:55:39
|
|||
|---|---|---|---|
|
|||
сумма числа полей из нескольких таблиц без дублирования |
|||
|
#18+
Привет, господа! Есть таблица users: id, name есть 3 таблицы: comments: id, user_id, comment shares: id, user_id, share likes: id, user_id, like Мне надо получить общую таблицу всех пользователей, посчитав для каждого: число комментариев, число shares и likes, а также общее количество всех этих трех полей. Я сделал что-то типа Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Однако тут дублируются строки при соединении таблиц и все суммы увеличиваются многократно. Я не могу придумать как сделать такой запрос без разбивания на подзапросы. Буду благодарен за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2014, 19:53:01
|
|||
|---|---|---|---|
сумма числа полей из нескольких таблиц без дублирования |
|||
|
#18+
topcyprusЯ не могу придумать как сделать такой запрос без разбивания на подзапросы. Буду благодарен за советы. без подзапросов никак, либо они будут в секции джойна, либо в секции селекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2014, 19:56:20
|
|||
|---|---|---|---|
|
|||
сумма числа полей из нескольких таблиц без дублирования |
|||
|
#18+
artas, а можете наиболее оптимальный путь подсказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2014, 19:57:12
|
|||
|---|---|---|---|
|
|||
сумма числа полей из нескольких таблиц без дублирования |
|||
|
#18+
topcyprus, ну, если ID во всех таблицах - это действительно ID (то есть уникальный идентификатор), то можно агрегаты считать с модификатором DISTINCT. Но оптимальнее всё же будет сделать предварительную агрегацию каждой таблицы во вложенном подзапросе, а после всё заджойнить в единое целое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1835057]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 311ms |

| 0 / 0 |
