Subject | Statistical Data |
---|---|

Author | Todd Brasseur |

Post date | 2001-08-21T16:19:36Z |

We are looking for a way to calculate some statistics.

The main statistic that we need is a 'median' (the middle occurance of

a list of values).

Ideally, we would have a function that we could use in stored

procedures that would work like avg, min, max, etc.:

Select Location, median(Ratio) From Sales Group By Location

Is the median something that would have to be added to Interbase (or

Firebird) itself (the same as avg, min, max, etc.) or is it something

that we could write ourselves? Does the SQL Standard include a median?

The only way I can think of doing it is to process data twice directly

in the stored procedure. Once to get the 'count' and then again with

an order by and counter to get the middle (or middle two) values.

This is a real pain because we need to calculate the median quite

often. It also makes things slow. It is so easy in Clipper as we

simply pass a function an array.

We also need to be able to calculate a 'square root' and 'logarithms'.

Any ideas would be greatly appreciated.

Todd

The main statistic that we need is a 'median' (the middle occurance of

a list of values).

Ideally, we would have a function that we could use in stored

procedures that would work like avg, min, max, etc.:

Select Location, median(Ratio) From Sales Group By Location

Is the median something that would have to be added to Interbase (or

Firebird) itself (the same as avg, min, max, etc.) or is it something

that we could write ourselves? Does the SQL Standard include a median?

The only way I can think of doing it is to process data twice directly

in the stored procedure. Once to get the 'count' and then again with

an order by and counter to get the middle (or middle two) values.

This is a real pain because we need to calculate the median quite

often. It also makes things slow. It is so easy in Clipper as we

simply pass a function an array.

We also need to be able to calculate a 'square root' and 'logarithms'.

Any ideas would be greatly appreciated.

Todd