Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
Есть запрос:
select userid,count(*) as cc,sum(billValue)/4 as ss from yaol_user_payments_new yup,yaol_users yu where yu.id=yup.userid and billCurrencyType=currencyType group by userid order by ss desc

Как сюда вставить условие, чтобы выбирались только строки, в которых cc>2?

Если вставить в where and cc>2 тогда ругается так:
SQL error: [IBM][CLI Driver][DB2/2] SQL0206N "CC" is not valid in the context where it is used. SQLSTATE=42703 , SQL state S0022

В group вроде как неправильно вставлять этот count.
9 дек 03, 06:12    [452105]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
Дополнение: count при этом выбирать не нужно, то есть более точно запрос выглядит так:
select userid,sum(billValue)/4 as ss from yaol_user_payments_new yup,yaol_users yu where yu.id=yup.userid and billCurrencyType=currencyType group by userid order by ss desc

видимо нужно делать через представление. Чем я сейчас и займусь.
9 дек 03, 06:39    [452110]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог

select userid,sum(billValue)/4 as ss
from yaol_user_payments_new yup,yaol_users yu
where yu.id=yup.userid and
billCurrencyType=currencyType
group by userid
having count(*) = 2
order by ss desc

9 дек 03, 06:58    [452122]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
О. Спасибо.
Теперь нужно немного усложнить и сделать отбор по ss тоже. ss>7
в where и в having условие and ss>7 не принимается.
9 дек 03, 07:54    [452146]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
в having нельзя использовать алиасы
select userid,sum(billValue)/4 as ss 

from yaol_user_payments_new yup,yaol_users yu
where yu.id=yup.userid and
billCurrencyType=currencyType
group by userid
having count(*) = 2 and sum(billValue)/4 > 7
order by ss desc
9 дек 03, 08:09    [452158]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
хм. работает. Спасибо
не понимаю почему не прокатывает конструкция через ss.
9 дек 03, 08:27    [452167]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
Выборку оно делает, но если делать через view, то результат получается другой. ?-\
9 дек 03, 09:04    [452202]     Ответить | Цитировать Сообщить модератору
 Re: как подружить count и sum?  [new]
kamuzon
Member

Откуда:
Сообщений: 35
гоню.
9 дек 03, 09:05    [452205]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить