Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен подзапрос подсчетом среднего без запятой / 10 сообщений из 10, страница 1 из 1
07.06.2014, 08:18:26
    #38664323
mstdmstd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
Всем привет,
Есть подзапрос вида с подсчетом среднего
Код: sql
1.
" SELECT ( select avg( IfNULL( TR.stars_rating_type_id, 0) ) as stars_rating_type_id..."

- он работает правильно, но с ним проблема в использовании в php yii- фреймворке.
Предположительно, из-за запятой в подзапросе.
Надо составить такой же подзапрос, но без запятой.

Так
Код: sql
1.
SELECT ( select avg( CASE WHEN TR.stars_rating_type_id is null THEN 0 ELSE TR.stars_rating_type_id END ) ) as stars_rating_type_id...


работает, но неправильно - если в подзапросе не найдено строк, то результат все равно null.

Видимо надо что-то вроде
Код: sql
1.
SELECT ( select CASE WHEN avg( TR.stars_rating_type_id) is null THEN 0 ELSE avg( TR.stars_rating_type_id) END   ) as stars_rating_type_id ,

- ошибкак синтатксиса.
А как правильно ?
...
Рейтинг: 0 / 0
09.06.2014, 05:06:38
    #38664867
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
mstdmstdА как правильно ?правильней всего было бы разобраться с фреймворком, чтобы не доставать костыли каждый раз при появлении в очередном запросе "неправильного" символа :)
...
Рейтинг: 0 / 0
09.06.2014, 09:11:15
    #38664938
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
mstdmstdработает, но неправильно - если в подзапросе не найдено строк, то результат все равно null.
Оберните его в ещё один CASE.
...
Рейтинг: 0 / 0
09.06.2014, 10:41:58
    #38665038
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
Может, так?
Код: sql
1.
" SELECT IfNULL((select avg( TR.stars_rating_type_id)...), 0) as stars_rating_type_id"
...
Рейтинг: 0 / 0
09.06.2014, 10:44:42
    #38665040
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
Cygapb-007Может, так?
Код: sql
1.
" SELECT IfNULL((select avg( TR.stars_rating_type_id)...), 0) as stars_rating_type_id"

ваш запрос неправильный, в нём есть запятая :)
...
Рейтинг: 0 / 0
09.06.2014, 10:47:06
    #38665044
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
tanglirCygapb-007Может, так?
Код: sql
1.
" SELECT IfNULL((select avg( TR.stars_rating_type_id)...), 0) as stars_rating_type_id"

ваш запрос неправильный, в нём есть запятая :)
Каюсь, не обратил внимания наmstdmstdПредположительно, из-за запятой в подзапросе
...
Рейтинг: 0 / 0
10.06.2014, 08:19:57
    #38665860
mstdmstd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
Akinamstdmstdработает, но неправильно - если в подзапросе не найдено строк, то результат все равно null.
Оберните его в ещё один CASE.
А можно примерчик как? Я попробовал - у меня не получилось ...
...
Рейтинг: 0 / 0
10.10.2014, 07:56:38
    #38772575
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
а как выбрать среднее по столбцу в пхп
...
Рейтинг: 0 / 0
10.10.2014, 08:23:21
    #38772599
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
des1roer,

невероятный факт: в пхп есть столбцы!
...
Рейтинг: 0 / 0
10.10.2014, 08:30:50
    #38772606
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен подзапрос подсчетом среднего без запятой
mstdmstdВсем привет,
...
Предположительно, из-за запятой в подзапросе.
Надо составить такой же подзапрос, но без запятой.
...
Попробуйте сделать обычный запрос
SELECT CONCAT('1','2','3') FROM DUAL;
и будет ясно, из-за запятой или нет
Если проблемы с экранированием - то пробуйте добавить перед запятой / , если мне не изменяет память.
В общем случае не дело перелопачивать правильные запросы. Без запятой вы не обойдетесь.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен подзапрос подсчетом среднего без запятой / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]