отсортировать по среднему значению 6 полей

Mx.MixeR

Новичок
отсортировать по среднему значению 6 полей

1) Надо сделать выборку из БД, чтобы было в порядке увеличения среднего значения 6 числовых полей.

Как это сделать?

2) select * from responses where TO_DAYS(NOW()) - TO_DAYS(date_add) <= 30 не дает нужного результата (надо вытащить записи за последний месяц). Помогите плз...

Заранее благодарен
 

SunDrop

Помощник поисков. робота
1) SELECT (поле_1+...+поле_N)/N as средн_знач, ...
ORDER BY средн_знач;

-~{}~ 25.03.06 15:24:

2) За последний месяц, или за последние 30 дней???
 

Mx.MixeR

Новичок
1) спасибо

2) без разницы. Просто в базе есть такие записи, а sql запрос говорит, что таких записей нет

3) А можно посчитать количество полученных записей, у которых id='1'?

SELECT organizations. * , responses.org_id, responses.ocenka, responses.date_add
FROM organizations, responses
WHERE responses.org_id = organizations.id AND responses.status = '1'

4) А можно как-нибудь посчитать среднее значение поля 'ocenka' во всех записях (данные из sql запроса), у которых id='1' ?

Еще раз благодарю всех, кто поможет мне...

-~{}~ 25.03.06 16:33:

SunDrop
Читал, эту строчку оттуда и взял.

Фанат
ошибки нет. результат - 0 записей
 

SunDrop

Помощник поисков. робота
Разница есть. В зависимости от этого будут различными запросы.
Просто в базе есть такие записи, а sql запрос говорит, что таких записей нет
date_add - какого типа?
А можно посчитать количество полученных записей
Кол-во полученых записей считается count(*)
По логике вещей одна. Иначе что-то не то!
А можно как-нибудь посчитать среднее значение поля
Функции, используемые в операторах GROUP BY
 

Mx.MixeR

Новичок
Фанат
Прошу прощения, я имел ввиду responses.org_id

SunDrop
date_add типа int. Там храню количество секунд с начала эпохи

а как писать? responses.count(*) - выдает ошибку...
Мне надо получить количество записей, удовлетворяющих условиям из таблицы responses

-~{}~ 25.03.06 17:28:

SunDrop
Огромное спасибо за group by. Меня это спасло!!!
 
Сверху