огромное человеческое спасибо!
все время пользовался count(*) или count(y.xx поэтому и считал, что не подойдет.
век живи - век учись
Найден 21 результат
- 01 июл 2010, 09:55
- Форум: Общие проблемы
- Тема: подсчет количества
- Ответы: 3
- Просмотры: 3225
- 30 июн 2010, 17:12
- Форум: Общие проблемы
- Тема: подсчет количества
- Ответы: 3
- Просмотры: 3225
подсчет количества
доброго времени суток!
есть
select num .....
который дает результаты
3
5
5
7
8
Как его изменить, чтобы он показывал количество разных значений (в приведенном примере 4) ?
наверное нужны какие-либо функции, но просто count(...) не подходит
FB 1.5
есть
select num .....
который дает результаты
3
5
5
7
8
Как его изменить, чтобы он показывал количество разных значений (в приведенном примере 4) ?
наверное нужны какие-либо функции, но просто count(...) не подходит
FB 1.5
- 07 апр 2010, 13:35
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
Re: оптимизация
так получилось еще хуже Ну, значит оптимизатор не так туп, как о нём говорят некоторые :) ЗЫ Всю статистику давай, а не огрызки... каждый раз нужно это говорить ? :( И кнопку Total records в статистике ИБЕ нажми. Опять же - читать запрос не возможно. Я его нормально форматировать не буду. Может в w...
- 06 апр 2010, 17:13
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
Re: оптимизация
Можно попробовать уменьшить кол-во чтений из SCF. Раз P6 самая маленькая, то пусти натурал по ней, например так select count(*) from sс inner join scf on sc.id = scf.sc_id inner join p4 on sc.id = p4.sc_id inner join p6 on sc.id = p6.sc_id + 0 where ... Какой план у этого запроса ? так получилось е...
- 06 апр 2010, 16:28
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
Re: оптимизация
Buffers: 2 048 Reads : 2 950 Это значит что количество чтений с диска больше чем размер кэша. С одной стороны, конечно, можно бы и кэш увеличить, но с другой стороны, десяток тысяч записей на 2 тысячах страниц - размер страницы какой? Да и для классика увеличивать размер кэша выше 2048 уже фактичес...
- 05 апр 2010, 12:34
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
Re: оптимизация
т.е. по_Вашему, для такого селекта время терпимое? Без знания о том, сколько записей в исходных таблицах, сколько чтений из них было произведено и сколько записей попало в результат - на этот вопрос тебе никто не даст ответ. Вся эта инф-ция есть в performance info у IBE Добрый день! Я подозреваю, ч...
- 02 апр 2010, 16:17
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
Re: оптимизация
именно время не нравится. таких выборок в цикле порядка 20 тыс с разными значениями, списками значений и проч. я думал, что-то в принципе неправильно организовано - вместо join-a использовать вложенные запросы, или count не использовать, или добавить FK т.е. по_Вашему, для такого селекта время терпи...
- 02 апр 2010, 15:21
- Форум: Общие проблемы
- Тема: оптимизация
- Ответы: 11
- Просмотры: 6843
оптимизация
Добрый день! При выполнении select-а select count(*) from sс inner join scf on sc.id=scf.sc_id inner join p4 on sc.id=p4.sc_id inner join p6 on sc.id=p6.sc_id where sc_id!=-1 and sc.mode in (0,1,4) and (cg = 513 or cg = 514 or cg = 714) and (pe = 3 or pe = 4 ) and ((( scf.re=1 or scf.re=2) and ( scf...
- 28 июл 2009, 14:12
- Форум: Общие проблемы
- Тема: ошибка проверки даты
- Ответы: 4
- Просмотры: 3947
Re: ошибка проверки даты
2kdv Спасибо за информацию. Как обойти ситуацию буду решать. А если, написать так (добавить () ) select count(*) from t1 where (per in (1,3)) and cast (DATA_C as date )>'27.02.2009' ничего не изменится? С т.зр. логики сначала должен выполниться предикат в скобках , а вот следующий будет выполняться ...
- 23 июл 2009, 15:49
- Форум: Общие проблемы
- Тема: ошибка проверки даты
- Ответы: 4
- Просмотры: 3947
ошибка проверки даты
Добрый день! XP+SP2 BCB 6, FireBird 1/5, FIB ПРоблема В программе динамически формирую select вида select count(*) from t1 where per in (1,3) and cast (DATA_C as date )>'27.02.2009' DATA_C определена как varchar, в ней лежит в стринговом виде дата. В таблице есть запись с per=6 и с "кривой датой" - ...
- 16 июн 2009, 16:37
- Форум: Общие проблемы
- Тема: селект с проверкой года
- Ответы: 14
- Просмотры: 8186
Re: селект с проверкой года
все как всегда на стыке модулей разных пользователей. в одном поле для даты, куда заносится ручками дата. Но. в соответствии с установками системы, там может быть и "18-3-2001" и "03111999" и куча других вариантов. А при добавлении в varchar(4) записываются последние символа. ПОэтому там могут быть ...
- 16 июн 2009, 14:19
- Форум: Общие проблемы
- Тема: селект с проверкой года
- Ответы: 14
- Просмотры: 8186
Re: селект с проверкой года
я то думал мне сейчас выложат
select * from ..... where ....
буду пробовать и читать
спасибо
select * from ..... where ....
буду пробовать и читать
спасибо
- 16 июн 2009, 13:08
- Форум: Общие проблемы
- Тема: селект с проверкой года
- Ответы: 14
- Просмотры: 8186
Re: селект с проверкой года
это я проверю программно. главное, чтобы выбирались записи, у которых в этом поле не цифры.WildSery писал(а):Вот, уже половина задачи решена. Попутно наводящий вопрос - "0000" или "9999" - это тоже год?2hands писал(а):А здесь нужно выбрать записи, у которых 4 цифры в yy1
- 16 июн 2009, 11:59
- Форум: Общие проблемы
- Тема: селект с проверкой года
- Ответы: 14
- Просмотры: 8186
Re: селект с проверкой года
Это я дальше в программе определяю.WildSery писал(а):Так и определись, как различить.
Мы-то откуда догадаемся? "2000" - это год или вес машины в килограммах?
А здесь нужно выбрать записи, у которых
4 цифры в yy1
- 16 июн 2009, 11:37
- Форум: Общие проблемы
- Тема: селект с проверкой года
- Ответы: 14
- Просмотры: 8186
селект с проверкой года
Доброго времени суток!
подскажите как составить select.
есть таблица, одна из колонок (например, yy1) varchar(4) должна содержать год.
но есть и другая информация. Как выбрать записи из таблицы , в которых yy1 содержит информацию, отличную от года.
Спасибо
подскажите как составить select.
есть таблица, одна из колонок (например, yy1) varchar(4) должна содержать год.
но есть и другая информация. Как выбрать записи из таблицы , в которых yy1 содержит информацию, отличную от года.
Спасибо
- 10 мар 2009, 16:42
- Форум: Вопросы создания клиентских и серверных приложений
- Тема: использование фильтра
- Ответы: 4
- Просмотры: 3999
Re: использование фильтра
Спасибо за помощь.
Прочитал здесь http://www.ibase.ru/devinfo/ibx.htm
и сделал аналогично
pFIBDataset1->Filter=" t1 like '%часть%' "
по крайней мере работает
Прочитал здесь http://www.ibase.ru/devinfo/ibx.htm
и сделал аналогично
pFIBDataset1->Filter=" t1 like '%часть%' "
по крайней мере работает
- 10 мар 2009, 15:37
- Форум: Вопросы создания клиентских и серверных приложений
- Тема: использование фильтра
- Ответы: 4
- Просмотры: 3999
Re: использование фильтра
Открыл (еще раз) FIBPlus_DevGuide52, просмотрел еще раз часть Using filters и не нашел использования части строки для фильтра.
Напишите, пож., непутевому, как это сделать или ткните фэйсом в страницу.
Спасибо
Напишите, пож., непутевому, как это сделать или ткните фэйсом в страницу.
Спасибо
- 10 мар 2009, 15:23
- Форум: Вопросы создания клиентских и серверных приложений
- Тема: использование фильтра
- Ответы: 4
- Просмотры: 3999
использование фильтра
Добрый день!
FB 1.5, FIBPlus, WinXP SP2
подскажите как можно указать фильтр по части строки в всформированном датасете.
пробовал
pFIBDataset1->Filter="t1 containing 'часть' " - ошибка
pFIBDataset1->Filter="t1 = '*часть*' " - тоже ошибка
Заранее спасибо
FB 1.5, FIBPlus, WinXP SP2
подскажите как можно указать фильтр по части строки в всформированном датасете.
пробовал
pFIBDataset1->Filter="t1 containing 'часть' " - ошибка
pFIBDataset1->Filter="t1 = '*часть*' " - тоже ошибка
Заранее спасибо
- 04 мар 2009, 15:19
- Форум: Общие проблемы
- Тема: добавление записей
- Ответы: 1
- Просмотры: 2605
добавление записей
Добрый день! подскажите как правильно организовать добавление записей в 2е связанные таблицы? делаю так while (......) { insert into t1... while (...) { insert into t2 (***) } } commit() добавить в t2 не получается, поскольку до комита в t1 нет записи, а в (***) используется id из t1. Наверное что-т...
- 20 янв 2009, 12:38
- Форум: Ремонт БД
- Тема: не проходит бэкап
- Ответы: 2
- Просмотры: 6475
Re: не проходит бэкап
Из рекомендаций по ремонту запускал gfix (ниже)
gfix -v -full 11.gdb
Summary of validation errors
Number of record level errors : 1
gfix -v -full 11.gdb
Summary of validation errors
Number of record level errors : 1