Subject Re: [ib-support] Gorup by
Author Arno Brinkman
Hi,

> I have two things my customer wants.
>
>
> 1.
> In my DB there is a table containing some data of what had happend
> during some time.
> This table contains a field, definded as DATE.
> I contains both date and time.
>
> Now I would like to do a select like:
>
> Select
> MyDate
> Sum(Field1)
> from MyTable
> Group by MyDate.
>
> This results gives me a lot of records of the same day because of the
> time.
> I would like to eliminate the time, so to get a sum of the entire day.
>
>
> 2.
> As above, but I would like to group by every hour of every day.
> My customer would like to se something like this:
>
> 2003.02.20 at 13.00-14.00 Something
> 2003.02.20 at 14.00-15.00 Something
> 2003.02.20 at 15.00-16.00 Something
> etc.
>
>
> Is this posible ?


Nice workaround :
Yes, create a VIEW with
SELECT CAST(MyDate AS DATE), Field1 FROM MyTable
and
SELECT V.F1, SUM(V.F2) FROM VIEW V

and i have seen "hacks" by using a UDF (in your case the udf must pass the
date and return it)
SELECT
UDF(CAST(MyDate AS DATE)),
Field1
FROM
MyTable
GROUP BY
UDF(CAST(MyDate AS DATE))


b.t.w. : In FB1.5 (still beta) you can use :
SELECT
CAST(MyDate AS DATE),
Sum(Field1)
FROM
MyTable
GROUP BY
1

Regards,
Arno Brinkman