| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > Помогите составить запрос для расчёта ТОП 10 |
| Автор: FlightOfDeath 18.3.2012, 11:26 |
| Приветствую всех. Имеется 1 таблица, где хранятся голоса пользователей, которые проголосовали. В таблице есть поле "vote", где может быть два значения "p" или "m", то есть плюс или минус. Вот сама таблица: | id | loop_id | user_id | ip | vote | -------------------------------------------------- | 1 | 1 | 1 | * | p | | 2 | 1 | 2 | * | m | | 3 | 1 | 5 | * | p | | 4 | 3 | 1 | * | p | | 5 | 6 | 1 | * | m | | * | * | * | * | * | В общем нужно вывести десять полей "loop_id", у которых в сумме со значением полей vote больше, то есть если, допустим, 10 плюсов и 2 минуса в поле "vote" у одного "loop_id", а у другого 5 плюсов и 1 минус, то на первом месте должен быть первый, так как в сумме у него получается 8, а у второго 4. Возможно ли сделать это всё одним запросом или всё же из-за неправильного составления таблицы придётся вычислять уже другими средствами и делать несколько запросов? |
| Автор: Akina 18.3.2012, 11:42 | ||
Какой кретин это придумал? Что мешало заносить туда совершенно очевидные 1 и -1? |
| Автор: FlightOfDeath 18.3.2012, 12:05 |
| Akina, Спасибо большое! Признаюсь, этот кретин я. Просто была спешка и как то не подумал даже про простые числа... |