при таком запросе,
SELECT a.id,a.title,ua.fullname,ua.avatar,sum(l.like) as rait,count(c.id) as comments FROM `articles` a
left join `likes` l on l.content_id = a.id and l.type = 1
left join `comments` c on c.content_id = a.id and c.type = 1
left join `user_attributes` ua on ua.user_id = a.user_id
GROUP by a.id,ua.fullname,ua.avatar
ORDER by a.height DESC,rait desc, comments desc
выдает такой результат и вместо 0 выдает null
хотя в первой записи нет ни 6 комментов ни 6 лайков
таблица комментарии
таблица лайков
понял, сделал так, но правильно ли? и почему выдает null?
SELECT a.id,a.title,ua.fullname,ua.avatar,
(select SUM(l.like) from likes as l where l.content_id = a.id AND l.type = 1) as rait,
(select count(c.id) from comments as c where c.content_id = a.id AND c.type = 1) as comments FROM `articles` a
left join `likes` l on l.content_id = a.id and l.type = 1
left join `comments` c on c.content_id = a.id and c.type = 1
left join `user_attributes` ua on ua.user_id = a.user_id
where a.published = 1 and DAYOFMONTH(a.updated_at) = DAYOFMONTH(CURDATE())
GROUP by a.id,ua.fullname,ua.avatar
ORDER by a.height desc,rait desc,comments desc
Подзапросы должны быть в секции FROM, вместо таблиц. В подзапросе - нужные подсчёт и группировка. Например, вместо таблицы likes должен быть подзапрос, который вернёт content_id и для каждого из них SUM(like) для записей с type = 1.
Навскидку получится так:
SELECT a.id,
a.title,
ua.fullname,
ua.avatar,
SUM(l.like) rait,
SUM(c.id) comments
FROM articles a
LEFT JOIN ( SELECT content_id, SUM(like) like
FROM likes
WHERE type=1
GROUP BY content_id ) l ON l.content_id = a.id
LEFT JOIN ( SELECT content_id, COUNT(id) id
FROM comments
WHERE type=1
GROUP BY content_id ) c ON c.content_id = a.id
LEFT JOIN user_attributes ua ON ua.user_id = a.user_id
GROUP by a.id,
ua.fullname,
ua.avatar
ORDER by a.height DESC,
rait DESC,
comments DESC
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть очень большая база данных с статьямиОни сейчас в формате html
Дело происходит ubuntaБез докера пара Django и MySQL, а вот мой докер здесь лишний и портит жизнь всем, включая меня
В БД хранятся котировки валютЭти данные часто используются php-скриптами, причем за один запрос пользователя читается более одной записи...