Конкретный заказ (sql) - PullRequest
       2

Конкретный заказ (sql)

0 голосов
/ 16 ноября 2010

У меня есть модель Pupil, в которой есть поле score.Мне нужно составить список со странным правилом: порядок за счетом (DESC), но (!) Все оценки, которые более 100 должны быть упорядочены как ноль:

Pupil.all( :order => 'score DESC' ...?)
100
86
34
21
6
3
1
0
143
125
354
0
456
0
0

Я могу заказать его, используя ruby,но мне нужно sql

Также я могу создать дополнительное поле в БД для хранения данных, таких какnew_score = score > 100 ? 0 : scoreно я думаю, что мы можем сделать sql без него

Ответы [ 2 ]

4 голосов
/ 16 ноября 2010

ВЫБРАТЬ * ОТ ученика упорядочить по баллу> 100, балл деск

4 голосов
/ 16 ноября 2010

вы можете сделать порядок по «счету> 100» (порядок логических значений), затем порядок по счету.Все те, у кого оценка> 100, будут предварительно упорядочены логическим значением, а подзаказ упорядочит другие оценки после> 100.

Надеюсь, это было достаточно ясно и то, что вы искали:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...