У меня есть следующая таблица:
рейтинги:
ID | post_id | rating_type
Поле rating_type имеет вид «thumb-up» или «thumb-down». Я хочу получить набор результатов, сообщающий мне, какие посты имеют самый высокий рейтинг. Следующий запрос дает мне набор результатов с количеством голосов «за» для каждого уникального post_id.
SELECT COUNT(post_id) as number_up, post_id FROM wp_sp_post_ratings WHERE rating_type = 'thumb-up' GROUP BY post_id
Это здорово! Я могу сделать то же самое для типа рейтинга вниз. Тем не менее, мне нужно получить общий рейтинг, где каждый большой палец дает посту одно очко, а каждый большой палец дает сообщению отрицательный балл. Затем мне нужно заказать это на общую сумму рейтинга. Итак, скажем, у нас есть следующее:
пост 1 имеет 3 голосов "за" и 2 голосов "за"
сообщение 2 имеет 14 голосов за и 33 голосов против
пост 3 имеет 4 голосов "за" и 0 голосов "за"
Я бы хотел видеть набор результатов, подобный следующему:
post_id | total_rating
3 | 4
1 | 1
2 | -19
Понятия не имею, как это сделать. Я уже 2 часа бьюсь головой о документации и Google, поэтому я надеялся, что SO может стать моим спасителем.