Solid
Drosera anglica
DISTINCT SUM
Сложилась непростая ситуация. Есть небольшой запрос:
Всё отлично работает, кроме одного... SUM(song.song_hits) AS album_hits - считает все song_hits... можно ли как-то ограничить суммирование только по song_id?
Сложилась непростая ситуация. Есть небольшой запрос:
Код:
SELECT
SQL_CACHE SQL_CALC_FOUND_ROWS
artist.*,
album.*,
COUNT(DISTINCT song.song_id) AS album_song_count,
COUNT(DISTINCT lyric.lyric_id) AS album_lyric_count,
SUM(song.song_hits) AS album_hits,
ROUND(SUM(song2rate.rate_count)/COUNT(song2rate.song_id)) AS album_rate,
COUNT(DISTINCT comment.comment_id) AS album_comment_count
FROM artist, album, song
LEFT JOIN lyric ON lyric.song_id=song.song_id
LEFT JOIN song2rate ON song2rate.song_id=song.song_id
LEFT JOIN `comment` ON comment.song_id=song.song_id
WHERE album.album_id=song.album_id
AND
artist.artist_id=album.artist_id
AND
album.artist_id=?
GROUP BY album.album_id
ORDER BY album.album_year DESC