|
Тема
|
Как да сумирам колона в MS SQL?
|
|
Автор | Stand_boy (Нерегистриран) |
Публикувано | 25.06.04 00:06 |
|
Здравейте!
Абсолютен новак съм в тази област и затова ви моля за помощ!
Бихте ли ми казали как да сумирам цяла колона в MS SQL база?
Благодаря предварително!
| |
Тема
|
Имам впредвид следното фрагментче>>
[re: Stand_boy]
|
|
Автор | Stand_boy (Нерегистриран) |
Публикувано | 25.06.04 00:52 |
|
CREATE PROCEDURE kak_da_sumiram
@Date1 datetime,
@Date2 datetime,
@Obshta_Suma decimal output
AS
Select * from Table1 where StaraData >= @Date1 and StaraData <=@Date2
set @Obshta_Suma = select sum(Obshta_Suma)
exec kak_da_sumiram Obshta_suma
Това което се опитвам да направя е да събера всички редове от колона Obshta_suma между две дати, но явно греша по начина по който подхождам ако да не ми даваше съобщение за грешка щеше да събере цялата колона,а на мене ми трябва само част от нея.
| |
Тема
|
Re: Имам впредвид следното фрагментче>>
[re: Stand_boy]
|
|
Автор |
phpGuru (член) |
Публикувано | 25.06.04 02:42 |
|
това чудо sql server не го знам, но
Select sum(Obshta_Suma) from Table1 where StaraData >= @Date1 and StaraData <=@Date2
ще даде само 1 ред (record set or what ever) и то ще е сумата на полетата Obshta_Suma, които попадат в редове отговарящи на условието StaraData >= @Date1 and StaraData <=@Date2
може да ползваш
Select sum(Obshta_Suma) AS the_total_Obshta_Suma from Table1 where ...........
и тогава името на колоната на record set-а ще се казва the_total_Obshta_Suma
аммиииииии на други сървери работи ;-)) сега на 4 джина мисля, че пак ще работи
| |
Тема
|
Re: Имам впредвид следното фрагментче>>
[re: phpGuru]
|
|
Автор | Blandings Castle (Нерегистриран) |
Публикувано | 25.06.04 08:55 |
|
И не забравяй, че при MS SQL датите са със часове и минути, така че има риск ако една дата е от сутринта, а правиш запитването по обяд да не ти се включи в зададения критерий.
Можеш да си правиш един cast например
where
CONVERT(Nvarchar(10), StaraData , 112)
between CONVERT(Nvarchar(10), @Date1 , 112)
AND CONVERT(Nvarchar(10), @Date2 , 112)
112 е параметър на конверта, който ти прави датата във вида ГГГГММДД
Другия вариант е да си сетваш часа на първата дата на 00:00:00 а на втората на 23:59:59
| |
Тема
|
Как да сетвам часа и датата?
[re: Blandings Castle]
|
|
Автор | Stand_boy (Нерегистриран) |
Публикувано | 04.07.04 13:59 |
|
Как да сетвам часа на първата дата на 00:00:00 а на втората на 23:59:59?
| |
|
|
|
|