Oracle 10.1

    AVG(A)     AVG(B)
---------- ----------
3.33333333 3.33333333 

   SQL 2005

----------- ----------------------
3           3.33333333333333

   DB2 8.2

1           2                       
----------- ------------------------
          3   +3.33333333333333E+000

> -----Original Message-----
> From: Dennis Cote [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, February 08, 2006 2:11 PM
> To: sqlite-users
> Subject: [sqlite] testing Avg() function in other database engines
> 
> Hi All,
> 
> I have a question that I hope you can help with. I would like to know 
> what results other database engines (i.e. mySQL, PostgreSQL, 
> Firebird, 
> Oracle, MS SQL, etc) give for the following SQL.
> 
>     create table t (a integer, b real);
>     insert into t values (3, 3);
>     insert into t values (3, 3);
>     insert into t values (4, 4);
>     select avg(a), avg(b) from t;
> 
> In SQLite I get the following:
> 
>     SQLite version 3.3.2
>     Enter ".help" for instructions
>     sqlite> create table t (a integer, b real);
>     sqlite> insert into t values (3, 3);
>     sqlite> insert into t values (3, 3);
>     sqlite> insert into t values (4, 4);
>     sqlite> select avg(a), avg(b) from t;
>     3.33333333333333|3.33333333333333
> 
> I'm particularly interested in the value of avg(a). My reading of the 
> standard leads me to believe that avg(a) should be 3 (i.e. an integer 
> value) and not a floating point value. This is similar to the earlier 
> discussion of the results for division with integers (i.e. 
> 5/2 -> 2 vs 
> 5/2 -> 2.5).
> 
> I would like to know if other databases follow the standard 
> here or not. 
> If you have ready access to another database, please try this 
> and post 
> the result. It will save me lots of time setting up other 
> programs (and 
> hopefully get info on programs I don't have access to like Oracle).
> 
> TIA
> Dennis Cote
> 

Reply via email to