Thread: variables in SQL??

variables in SQL??

From
"Francisco Hernandez"
Date:
anyone know if SQL has variables?

what im trying to do is have a Sum of a colum.. as it goes forwards with the
cursor..
like so:

Price|Sum
5|5
4|9
10|19
2|21
7|28

i can do it in the accessing language.. like PHP, Python, Perl etc..
but i wanted to know if the actuall DB could do it?
any ideas?


Re: variables in SQL??

From
Volker Paul
Date:
> what im trying to do is have a Sum of a colum.. as it goes forwards with the
> cursor..
> like so:
>
> Price|Sum
> 5|5
> 4|9
> 10|19
> 2|21
> 7|28

I think what you mean is called running sum, I had the same problem
before, and I found no other solution than creating a column for it,
and calculating its values by a function.

Yours,

V.Paul

Re: variables in SQL??

From
"DalTech - CTE"
Date:
> what im trying to do is have a Sum of a colum.. as it goes forwards

I don't think this is what you want, but I suppose it might help....

Table    = simple
+----------------------------------+----------------------------------+-----
--+
|              Field               |              Type                |
Length|
+----------------------------------+----------------------------------+-----
--+
| price                            | int4                             |
4 |
+----------------------------------+----------------------------------+-----
--+
=> select price,count(price) from simple group by price;
price|count
-----+-----   1|    4   2|    7   4|    8   5|    5   7|   16   9|    1  10|   12
(7 rows)

=> create view simple_v as select price,count(price) from simple group by
price;
CREATE 19503 1
=> select * from simple_v;
price|count
-----+-----   1|    4   2|    7   4|    8   5|    5   7|   16   9|    1  10|   12
(7 rows)

=> insert into simple (price) values (5);
INSERT 19504 1
=> select * from simple_v;
price|count
-----+-----   1|    4   2|    7   4|    8   5|    6   7|   16   9|    1  10|   12
(7 rows)



Re: [GENERAL] Re: variables in SQL??

From
Craig Johannsen
Date:
You can create a running total provided that you have a unique
sequentially increasing (or decreasing) ID for each row.  See the
following example:

create table tran(id int primary key, price dec(8,2));
insert into tran values(1,5.00);
insert into tran values(2,4.00);
insert into tran values(3,10.00);
insert into tran values(4,2.00);
insert into tran values(5,7.00);

select price, (select sum(price) from tran as d1
where d1.id <= d2.id) as "sum"
from tran as d2;

 price |  sum
-------+-------
  5.00 |  5.00
  4.00 |  9.00
 10.00 | 19.00
  2.00 | 21.00
  7.00 | 28.00
(5 rows)


Francisco wrote:

> > what im trying to do is have a Sum of a colum.. as it goes forwards with the
> > cursor..
> > like so:
> >
> > Price|Sum
> > 5|5
> > 4|9
> > 10|19
> > 2|21
> > 7|28
>

====================================
Craig Johannsen
Critical Path Consulting, Inc.
604-762-1514
http://members.home.net/cjohan/cpath
====================================