Имя: Пароль:
1C
 
количество строк в результате запроса. в консоле
0 Нуф-Нуф
 
15.07.09
11:10
есть запрос в консоле, как получить количество записей результате запроса?
1 Нуф-Нуф
 
15.07.09
11:14
апп
2 Mitriy
 
15.07.09
11:14
пальцем посчитать...
3 Mitriy
 
15.07.09
11:18
а вообще можно, например, сгруппировать или сохранить в табдок и открыть в ёкселе...
4 shuhard
 
15.07.09
11:19
(1) список сформируй ПКМ - найдешь нумерацию
5 Defender aka LINN
 
15.07.09
11:19
Итоги посчитай. Или в таб. документ выведи.
6 DKDSI
 
15.07.09
11:21
(0) Положить во временную таблицу.
7 Mitriy
 
15.07.09
11:21
точно пальцем считает...
8 Нуф-Нуф
 
15.07.09
11:33
вывести список не катит строк нереально много. 1с тухнет
(5) а итоги чего считать?
(6) а дальше с ней что?
9 Sadovnikov
 
15.07.09
11:34
(8) А дальше Select Count(*)
10 Нуф-Нуф
 
15.07.09
11:35
(9) а русский аналог?
11 Defender aka LINN
 
15.07.09
11:35
(8) КОЛИЧЕСТВО(*)
12 Нуф-Нуф
 
15.07.09
11:36
спасибо помогло
13 mikecool
 
15.07.09
11:36
(11) кстати, что больше потянет данных Количество(*) или количество(1)?
имхо - первый вариант
14 mikecool
 
15.07.09
11:37
+13 помнится в крупном проекте за Количество(*) , да и вообще за звезду били сильно
15 fisher
 
15.07.09
11:38
(9) +
Только нах временные таблицы.
Просто ВЫБРАТЬ тра-ля-ля меняешь на ВЫБРАТЬ КОЛИЧЕСТВО(*)
16 Sadovnikov
 
15.07.09
11:38
(13) И то и другое потянят на клиента 1 цифирьку.
17 mikecool
 
15.07.09
11:39
(16) цифирьку то понятно, а данные ворошить ведь придется со звездой?
18 Sadovnikov
 
15.07.09
11:40
+(16) Причем, со звездочкой оптимизатор еще и сам озадачится, по какой колонке удобнее сосчитать количество строк.
19 Sadovnikov
 
15.07.09
11:40
(17) См. (18) :)
20 mikecool
 
15.07.09
11:42
(18) гм... однако припоминаю свою работу(лет 5 назад это было), проект был крупный, и кажется количество(*) было одной из грубых ошибок
воть так вот
21 fisher
 
15.07.09
11:42
(18) Не-а. Он просто посчитает количество строк. Не по колонке. Указание колонки возвращает уже не количество строк, а количество строк, где значение указанной колонки не равно NULL.
22 mikecool
 
15.07.09
11:43
(21) а в случае с количество(1)?
23 Sadovnikov
 
15.07.09
11:47
(21) Не буду спорить, но имхается мне, что все-таки считать количество строк скуль (MS) будет все-таки по какой-то колонке... Фиг его знаем, может, я и заблуждаюсь :)
(20) "кажется количество(*) было одной из грубых ошибок " - тебе именно кажется :)
Вот Selec * - грубая ошибка :)
24 mikecool
 
15.07.09
11:49
(23) да нет, вообще использование звезды каралось... не настолько кажется :)
а вот по колонке - имхается, что не по колонке...
25 fisher
 
15.07.09
11:54
(22) То же самое. Для каждой строки будет вычислена единица и посчитано количество единиц, не равных NULL. Ну а так как 1 <> NULL, то это будет всё то же количество строк.
(24) Не, не по колонке. А в случае с КОЛИЧЕСТВО(*) ты что-то путаешь. КОЛИЧЕСТВО(*) и КОЛИЧЕСТВО(1) даёт абсолютно одинаковую производительность и планы выполнения запроса.
26 mikecool
 
15.07.09
11:57
вот нарыл на скл.ру
COUNT со звездочкой включает и NULL и дубликаты
27 mikecool
 
15.07.09
11:58
+ 26 т.о. если нужно именно количество записей, то надо пользовать Количество(*)
28 fisher
 
15.07.09
12:05
(27) КОЛИЧЕСТВО(любая константа) тоже вернет количество записей, так что ошибкой это не будет. Просто КОЛИЧЕСТВО(*) более наглядно и правильно, т.к. именно для этого и предназначено.
29 Sammo
 
15.07.09
12:07
Кстати, сейчас есть консоли, в которых выводится количество строк результата.
30 Ненавижу 1С
 
гуру
15.07.09
12:10
еще можно SUM(1)
31 Ненавижу 1С
 
гуру
15.07.09
12:11
(29) PlayStation 3