Что есть.
1. Форма с 2 полями rate_min и rate_max (значения от 0 до 10)
2. 2 поля в БД rate_loc и rate_sum_loc. В первом кол-во голосов, во втором общая их сумма(т.е. какую юзер нажал оценку).
К примеру при rate_loc=4 и rate_sum_loc=30 получаем 7,5.
Что нужно - выполнить поиск по этим 2 полям.
Как такое можно реализовать?
1. Viper - 30 Июня, 2014 - 18:34:12 - перейти к сообщению
2. Мелкий - 30 Июня, 2014 - 18:58:51 - перейти к сообщению
Т.е. найти те строки, у которых rate_sum_loc/rate_loc находится в промежутке между rate_min и rate_max?
Буквально так и пишется, в общем-то
Буквально так и пишется, в общем-то
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- (rate_sum_loc/rate_loc) >= rate_min AND (rate_sum_loc/rate_loc) <= rate_max
(Добавление)
Чтобы не играться с дробями, можно сделать rate_sum_loc >= (rate_min * rate_loc)
И, разумеется, индексы в пролёте. Потому желательно сделать отдельное поле, которое пересчитывать по тому же триггеру, но с индексом.