|
Какой тип данных Т-SQL возвращает функция COUNT()?
| ☑ |
0
Лоботряс
31.07.12
✎
20:17
|
Решил порешать задачки . Чисто для общего развития.
Сразу возник затык из-за пробела в знаниях Т-SQL.
Почему-то вот такое выражение в запросе "having
count(tab.model)/5 = round(count(tab.model)/5,0,1)", которое теоретически должно оставлять только каждую пятую запись, не желает работать.
В колонке count(tab.model)/5 почему-то выводятся только целые числа.
Сразу признаюсь Т-SQL знаю плохо (особенно в части приведения типов), ногами прошу не бить... Есть люди, готовые блеснуть своими знаниями в этом вопросе?
З.Ы. Текст запроса нужен?
|
|
1
shuhard
31.07.12
✎
20:19
|
(0) шёл бы ты на Sql.ru с такими вопросами
|
|
2
Лоботряс
31.07.12
✎
20:21
|
(1) А че так?
|
|
3
Rie
31.07.12
✎
20:22
|
(0) Непонятно, почему это выражение должно оставлять каждую пятую запись.
А возвращает COUNT, вестимо, целое.
А int/int в SQL даёт именно int, а не что-то иное.
|
|
4
prog2012
31.07.12
✎
20:24
|
(0)зачем?
|
|
5
Лоботряс
31.07.12
✎
20:35
|
(3)Ну потому что при группировке выражение count(tab.model) возвращает число равное порядковому номеру записи. А мне нужно выбрать только каждую 5-ю запись, т. е. кратную 5-ти.
"А возвращает COUNT, вестимо, целое" а как мне результат преобразовать в дробное?
(4) Просто так.
|
|
6
Пеппи
31.07.12
✎
20:38
|
а как мне результат преобразовать в дробное?
и где? в запросе?
|
|
7
Rie
31.07.12
✎
20:38
|
(5) COUNT(tab.model)/5.0
(только всё равно странно это...)
|
|
8
Лоботряс
31.07.12
✎
20:39
|
(6)Да, в запросе. Это не 1с-овский запрос.
|
|
9
Лоботряс
31.07.12
✎
20:45
|
(7)Помогло спасибо. Хотя все равно ничего не понял:))
|
|
10
Rie
31.07.12
✎
20:51
|
(9) Тип результата деления в SQL зависит от типов аргументов. У тебя оба аргумента были типа int - вот и результат был int. 5.0 имеет тип decimal - вот и результат стал decimal.
|
|
11
Лоботряс
31.07.12
✎
21:01
|
(10)Благодарствую за разъяснение. Пойду наверное куда послали в первом посте.
|
|
12
prog2012
31.07.12
✎
23:53
|
(11)доложишь потом чем закончилось
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший