Re: [Postgresql-it] Query con limit centrata

  • From: max jacob <max.jacob@xxxxxxxx>
  • To: postgresql-it@xxxxxxxxxxxxxxxxx
  • Date: Wed, 13 Apr 2005 13:40:11 +0200

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





Other related posts: