![]() |
|
||||||||||
|
|||||
|
Вобщем, задача такая - вывести рейтинг песен, за которые голосовали пользователи.
1. Есть таблица с песнями 2. Есть таблица с голосами, в которой след поля: голос (от -2 до +2 за песню), id пользователя, id песни, дата голосования. Задача - отсортировать песни по сумме голосов в таблице номер 2. Сам понимаю, что ничего сложного, но вся загвоздка в том, что один пользователь может проголосовать несколько раз за одну и туже песню. А вывести нужно голоса за неделю... Заранее спасибо.
__________________
Уроки фотошоп (Adobe PhotoShop) |
|
|||||
|
язык какой ? flash?
__________________
Flash ещё не торт... |
|
|||||
|
Цитата:
Цитата:
Цитата:
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
|
Хм, выборка идет из разных таблиц, как их правильно объединить в запросе?
__________________
Уроки фотошоп (Adobe PhotoShop) |
|
|||||
|
FROM `voite_table` LEFT JOIN `song_table` ON (`song_table`.`id` = `voite_table`.`song_id`)
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
|
Спасибо, щас буду пробовать. Если что - отпишусь.
__________________
Уроки фотошоп (Adobe PhotoShop) |
|
|||||
|
Вот этот запрос:
$query = "SELECT * FROM songs LEFT JOIN golos ON (golos.song_id = songs.id)"; выбирает все песни, за которые проголосовали, причем, если голосовали несколько раз, он выбирает несколько раз. Пробовал отсортировать вот так: $query = "SELECT * FROM songs LEFT JOIN golos ON (golos.song_id = songs.id) ORDER BY SUM(golos.golos)"; ...выдает ошибку. Как избежать вывода нескольких песен и сделать сортировку?
__________________
Уроки фотошоп (Adobe PhotoShop) |
|
|||||
|
Все, лекарство нашел:
$query="SELECT songs.song, songs.id, SUM(golos.golos) AS golosa FROM songs LEFT OUTER JOIN golos ON golos.song_id = songs.id GROUP BY songs.song ORDER BY golosa DESC";
__________________
Уроки фотошоп (Adobe PhotoShop) |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|