прошу помочь правильно написать скрипт )
У мну есть таблица... мне надо вывести из нее данные.. с сортировкой.. но сортировка должна быть по среднему арифметическому.. я пишу
select id,(((2*a2)+(3*a3)+(4*a4)+(5*a5))/(a2+a3+a4+a5)) as oсn from table where nr<>135 order by ocn ASC
такая постановка работает.. но выдает чтото очень странное...
Пробовал еще так...
select id from table where nr<>135 order by (((2*a2)+(3*a3)+(4*a4)+(5*a5))/(a2+a3+a4+a5)) ASC
получается тоже чтото непонятное...
а2-а5 - это столбцы .. т.е.
id,nr, a2,a3,a4,a5
в общем мне надо выбрать данные с сортировкой по среднеарифметическому...
не знаю .. понятно ли объяснил))
заранее спасибо )
Спустя 12 минут, 45 секунд (16.02.2011 - 09:32) AlexanderShad написал(а):
все... решил...
select id,(((2*a2)+(3*a3)+(4*a4)+(5*a5))/(a2+a3+a4+a5)) as oсn from table where nr<>135 order by ocn ASC
это правильно...
просто у меня заминка была в другом... она фильтрует правильно (сортирует) но не учитывает количество оценок )))
а сортировка по среднему работает хорошо.
select id,(((2*a2)+(3*a3)+(4*a4)+(5*a5))/(a2+a3+a4+a5)) as oсn from table where nr<>135 order by ocn ASC
это правильно...
просто у меня заминка была в другом... она фильтрует правильно (сортирует) но не учитывает количество оценок )))
а сортировка по среднему работает хорошо.
Спустя 9 минут, 58 секунд (16.02.2011 - 09:42) Snus написал(а):
AlexanderShad
Извращенство какое-то ваш запрос
Извращенство какое-то ваш запрос

Спустя 5 минут, 3 секунды (16.02.2011 - 09:47) AlexanderShad написал(а):
Цитата (Snus @ 16.02.2011 - 06:42) |
AlexanderShad Извращенство какое-то ваш запрос ![]() |
ну .... дык надо было решать... вот..

сейчас буду дальше думать... как учесть количества...

Спустя 2 минуты, 14 секунд (16.02.2011 - 09:50) Snus написал(а):
AlexanderShad
А что содержат в себе столбцы a1, a2 ... ?
А что содержат в себе столбцы a1, a2 ... ?
Спустя 8 минут, 20 секунд (16.02.2011 - 09:58) AlexanderShad написал(а):
Snus
цифры..
к примеру a2 - 12 id - 3
студент иванов иван иванович (id=3) получил 12 двоек
также и с остальными...
a3-3 a5-6 id-1
студентка федерова (id=1) получила 3 тройки и 6 пятерок...
a5-1 id-13
студент шапошников (id=13) получил 1 пятерку
т.е. если у человека будет к примеру оценка средняя 5 и 5 пятерок.. это хорошо
у второго будет средняя 4.8 но у него будет 4 пятерки и 1 тройка.. у третьего будет средняя 5 а пятерка всего одна ... то про сортируется
1. у кого 4 пятерки и 1 тройка
2. у кого 1 пятерка
3. у кого пять пятерок
а мне сейчас надо добиться чтобы было
1. у кого 1 пятерка
2. у кого 4 пятерки и 1 тройка
3. у кого 5 пятерок...
ну это уже не совсем сортировка по среднему получается )))
цифры..
к примеру a2 - 12 id - 3
студент иванов иван иванович (id=3) получил 12 двоек
также и с остальными...
a3-3 a5-6 id-1
студентка федерова (id=1) получила 3 тройки и 6 пятерок...
a5-1 id-13
студент шапошников (id=13) получил 1 пятерку
т.е. если у человека будет к примеру оценка средняя 5 и 5 пятерок.. это хорошо
у второго будет средняя 4.8 но у него будет 4 пятерки и 1 тройка.. у третьего будет средняя 5 а пятерка всего одна ... то про сортируется
1. у кого 4 пятерки и 1 тройка
2. у кого 1 пятерка
3. у кого пять пятерок
а мне сейчас надо добиться чтобы было
1. у кого 1 пятерка
2. у кого 4 пятерки и 1 тройка
3. у кого 5 пятерок...
ну это уже не совсем сортировка по среднему получается )))
Спустя 47 секунд (16.02.2011 - 09:59) AlexanderShad написал(а):
но с учетом средней )
Спустя 4 минуты, 30 секунд (16.02.2011 - 10:03) AlexanderShad написал(а):
в общем это тоже решил
SELECT id
FROM table where nr<>135
ORDER BY a5, a4, a3, a2 ASC
но это без учета средней.... и тоже не совсем так ....
ладно.. я уже сам запутался что мне надо )))
прошу извинения если что )
SELECT id
FROM table where nr<>135
ORDER BY a5, a4, a3, a2 ASC
но это без учета средней.... и тоже не совсем так ....
ладно.. я уже сам запутался что мне надо )))
прошу извинения если что )
Спустя 6 минут, 59 секунд (16.02.2011 - 10:10) Snus написал(а):
AlexanderShad
А для чего нужно было под каждую оценку делать отдельный столбец?
Почему нельзя было сделать
?
А для чего нужно было под каждую оценку делать отдельный столбец?
Почему нельзя было сделать
userId | score
3 | 2
3 | 2
3 | 5
4 | 3
?
Спустя 6 минут, 3 секунды (16.02.2011 - 10:16) AlexanderShad написал(а):
Snus
ммм.. так дубли получаются.. но идею я понял...
просто изначально такой задачи не было... нужно было просто общее кол-во 2, 3 и тд.. сколько человек заработал так сказать.. а среднюю высчитать по нему проблемы не было.
+ ко всему там еще куча столбцов ))
ммм.. так дубли получаются.. но идею я понял...
просто изначально такой задачи не было... нужно было просто общее кол-во 2, 3 и тд.. сколько человек заработал так сказать.. а среднюю высчитать по нему проблемы не было.
+ ко всему там еще куча столбцов ))
Спустя 14 минут, 30 секунд (16.02.2011 - 10:31) Snus написал(а):
AlexanderShad
Ты неправильно структуру БД делаешь. Почитай мануалы по этому поводу
Ты неправильно структуру БД делаешь. Почитай мануалы по этому поводу

Спустя 1 минута, 7 секунд (16.02.2011 - 10:32) AlexanderShad написал(а):
Snus
