Моя votes
таблица выглядит следующим образом:SQL запрос, чтобы получить «счет голосов»
id: integer
vote: boolean
voteable_id: integer
voteable_type: string
voter_id: integer
voter_type: string
Столбец vote
определяет, является ли строка «вверх голосования» (vote = true
) или «вниз голосования» (vote = false
) ,
voteable_type
это класс вещи быть голосование, voteable_id
это идентификатор вещи быть голосование, voter_type
класс избирателя, и voter_id
является идентификатор избирателя.
Что мне нужно, это запрос, чтобы получить верхнюю нposts
в порядке убывания «баллов голосования», где «оценка голосование» определяется как (количество до голосов пост имеет) - (количество голосов вниз, которое имеет сообщение).
Бонусные баллы, если ваше решение не требует от меня обратиться к find_by_sql()
(я работаю в Rails)
Больше бонусных очков, если ваше решение работает так же, как в SQLite и PostgreSQL (хотя это более важно, что он работает в PostgreSQL).
Какая база данных? , – cletus
Вы также значительно облегчили бы свою жизнь, если бы сохранили это как 1/-1 вместо true/false. – cletus
Err, не было бы 1 и 0? – Alex