Size: a a a

2020 December 17

Y

Yuriy in MySQL
select
   count(s.id) as chapters_count,
   count(ch.id) as chapters_count,
   users.*
from users
        inner join series as s on s.user_id = users.id
        inner join chapters as ch on ch.user_id = users.id
источник

IZ

Ilia Zviagin in MySQL
Yuriy
select
   count(s.id) as chapters_count,
   count(ch.id) as chapters_count,
   users.*
from users
        inner join series as s on s.user_id = users.id
        inner join chapters as ch on ch.user_id = users.id
Ну, так ты же посчитал...
источник

IZ

Ilia Zviagin in MySQL
Yuriy
select
   count(s.id) as chapters_count,
   count(ch.id) as chapters_count,
   users.*
from users
        inner join series as s on s.user_id = users.id
        inner join chapters as ch on ch.user_id = users.id
алиасы только у полей одинаковые, надо поменять
источник

DE

Denis Efremov in MySQL
Select sum(chapter_count) from (select
   count(s.id) as chapters_count,
   users.*
from users
        inner join series as s on s.user_id = users.id
        inner join chapters as ch on ch.user_id = users.id
Union
select
   count(ch.id) as chapters_count,
   users.*
from users
        inner join series as s on s.user_id = users.id
        inner join chapters as ch on ch.user_id = users.id) as t
источник

DE

Denis Efremov in MySQL
Group by user.id в конце
источник

Y

Yuriy in MySQL
вот полный запрос
select
      count(s.id) as chapters_count,
      count(ch.id) as series_count,
      users.*
from users
    inner join series as s on s.user_id = users.id
    inner join chapters as ch on ch.user_id = users.id
where
     users.deleted_at is null
group by users.id
order by chapters_count desc
источник

Y

Yuriy in MySQL
да давил груп ба
но результаты у меня одинаковы для
chapters_count  series_count уж очень подозрительно
источник

Y

Yuriy in MySQL
поэтому засомневался валидности запроса
источник

Y

Yuriy in MySQL
count подсчитывает в рамках группы и подозреваю что я не правильно гурппирую
источник

DE

Denis Efremov in MySQL
SELECT *, SUM(count) FROM (select
      count(s.id) as count,
      users.*
from users U
    inner join series as s on s.user_id = U.id
where
     U.deleted_at is null
group by U.id
order by chapters_count desc
UNION
select
      count(ch.id) as count,
      users.*
from users
    inner join series as s on s.user_id = users.id
where
     users.deleted_at is null
group by users.id
order by chapters_count desc) AS T
GROUP BY id
источник

DE

Denis Efremov in MySQL
Там ошибки но думаю что суть ты понял
источник

DE

Denis Efremov in MySQL
Посчитай отдельно и сложи
источник

Y

Yuriy in MySQL
хорошо,
спасибо
а ко всему этому еще и сортировку по подсчитываемым полям реально добавить?
источник

DE

Denis Efremov in MySQL
Фил фри ту ду ит
источник

DE

Denis Efremov in MySQL
По каким полям?
источник

DE

Denis Efremov in MySQL
ORDER BY поля
источник

Y

Yuriy in MySQL
Denis Efremov
Посчитай отдельно и сложи
не совсем понимаю зачем складывать, ведь количество серий и чептеров это разные значения
источник

DE

Denis Efremov in MySQL
Переслано от Yuriy
добрый вечер
сориентируйте пожалуйста как можно подсчитать количество по нескольким приджойненым таблицам ?
источник

DE

Denis Efremov in MySQL
То есть тебе надо это ^ сделать 2 независимых подсчета?
источник

DE

Denis Efremov in MySQL
Вот так я делаю 2 независимых подсчета в одной выборке
источник