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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кол-во строк в firebird 
:(
    Опции темы
fresh41
  Дата 26.3.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



база данных firebird 2.5 (код пишу в ibexpert)
Код

select count(*) as total,
(select count(name) from t1 where name='а' and t1."TYPE"=t1."TYPE") as a,
(select count(name) from t1 where name='б' ) as b,
t1."TYPE"
from t1
group by
t1."TYPE"

есть таблица t1 в ней поля id,name,type и записи в ней
1 а 1
2 а 2
3 б 2
нужно сделать чтоб выводил
type    total(сумма)   count(a) count(
 1           1                  1             0
 2           2                  1              1
а он выводит так
user posted image
помогите плизз



Модератор: Пользуйтесь кнопкой КОД


Это сообщение отредактировал(а) Akella - 26.3.2011, 16:53
PM MAIL   Вверх
Romkin
Дата 27.3.2011, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(fresh41 @  26.3.2011,  15:05 Найти цитируемый пост)
(select count(name) from t1 where name='а' and t1."TYPE"=t1."TYPE")

 smile Алиасы могут быть не только для полей, но и для таблиц.
Код
(select count(name) from t1 t_name where t_name.name='а' and t_name."TYPE"=t1."TYPE")

и так далее. А то получается, что выбрать записи, у которых занчение поля равно этому же значению.
PM ICQ   Вверх
Zloxa
Дата 27.3.2011, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(fresh41 @  26.3.2011,  15:05 Найти цитируемый пост)
select count(*) as total,
(select count(name) from t1 where name='а' and t1."TYPE"=t1."TYPE") as a,
(select count(name) from t1 where name='б' ) as b,
t1."TYPE"
from t1
group by
t1."TYPE"

 smile 
Код

select count(*) as total,
sum(case when name='а' then 1 else 0 end) as a,
sum(case when name='b' then 1 else 0 end)  as b,
t1."TYPE"
from t1
group by
t1."TYPE"



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

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

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

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

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

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

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


 




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


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

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