suppongo che il campo1 non sia necessariamente numerico e omogeneo come
nel tup esempio, altrimenti te la cavi con un semplice between
(centro-meta_finsetra) and (centro+meta_finestra)!
una soluzione più generale è:
select * from (
(select * from tabella where campo1>=centro order by campo1 limit
finestra/2+1)
union
(select * from tabella where campo1<centro order by campo1 desc
limit finestra/2)
) q order by q.campo1;
con finestra dispari.
m.
Enrico wrote:
Probabilmente è gia stato postato qualcosa a riguardo ma non sono riuscito a
ritrovare nulla in archivio....
Il problema è molto semplice
se ad esempio ho
campo1
-------
1
2
3
4
5
6
7
8
9
10
vorrei fare una funzione f(5,1) ad esempio che mi restituisca:
Res
---
4
5
6
quindi centrata in 5 con un limit di 1 sia sopra che sotto
Ciao Enrico
_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxxxxxx
http://www.linuxtime.it/mailman/listinfo/postgresql-it