Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GROUP BY и CASE 
:(
    Опции темы
harakiri
Дата 27.5.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 17.1.2011

Репутация: нет
Всего: нет



Как можно сгруппировать записи без использования агрегатных функций? Например, мне нужно сгруппировать по первому полю, но остальные поля что б не суммировались.

Код

select p1, (case when u1 = 1 then 1
                          when u1 = 2 then 2
                          else 1
                  end)
group by 1


может как то без group by. буду признателен за помощь



M
Akella
пользуйтесь кнопкой КОД

PM MAIL   Вверх
Frees
Дата 27.5.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



select distinct


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
harakiri
Дата 27.5.2011, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 17.1.2011

Репутация: нет
Всего: нет



Ругаетса 

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

GROUP BY убрал
PM MAIL   Вверх
Akella
Дата 27.5.2011, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



harakiri, а что, почитать документацию про GROUP BY не судьба? Примеры посмотреть, а?
PM MAIL   Вверх
harakiri
Дата 28.5.2011, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 17.1.2011

Репутация: нет
Всего: нет



Не судите строго, я не очень опытен в программировании. Доки почитал, с ошибкой разобрался. Но вопрос остается, мне нужно сгруппировать данные по первому полю, а в остальные поля с помощью case выбрать значения из второй таблицы соответствующие сгруппированным полям.
PM MAIL   Вверх
tishaishii
Дата 11.6.2011, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Код
select
     t2.id,
     t1."COUNT"
from
     (select t.id, count(t.*) as "COUNT" from table1 as t group by t.id) as t1

     inner join table2 as t2 on
     t1.id=t2.id


Это сообщение отредактировал(а) tishaishii - 11.6.2011, 19:41
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.