![]() |
|
количество строк в результате запроса. в консоле | ☑ | ||
---|---|---|---|---|
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |