Hola Ruben
El 13/10/15 a las 10:55, Ruben Fitó escribió:
Hola Lista,
Tengo una duda a ver si me la podrían resolver.
Tenemos una tabla bastante grande, donde almacenamos ventas.
En esta tabla tenemos los campos *fecha*(timestamp), *importe* y
*cliente*, entre otras pero que no son importantes.
*fecha | importe | cliente*
Lo que necesitamos son los (max, avg, min) de importe y número de
ventas agrupado por cliente, día, semana y mes, mirando desde ahora
hasta un año atrás, sin tener en cuenta el periodo más cercano.
No se si entendi mal o no te explicaste correctamente, lo que entiendo
es algo como esto:
/select extract (MONTH..),extract (week..),extract (/
/DAY..),cliente,max,avg,min from tabla where
current_date-//*fecha<=365*//group by 1,2,3,4/
pero de seguro no es tan sencillo, jeje
puedes poner un juego de datos y la salida que esperas?
Saludos
Dicho de otro modo, necesitamos por cada día, semana y mes el (max,
avg, min) de importe por cada cliente sin tener en cuenta el mes
actual(para mes), el día actual(para día) o la semana actual(para semana).
Hemos realizado una gigantesca query con sub-consultas que no se
entiende nada, y el costo temporal es demasiado elevado. Creo que no
es conveniente mostrarla ya que os dará más dolor de cabeza que otra cosa.
No sabemos qué puede ser más óptimo, usar with con subconsultas, usar
PARTITION, u otras alternativas que no hemos pensado.
Nos da igual si nos retorna una tabla o arrays , o tabla de arrays,
jejeje, simplemente que se pueda trabajar fácilmente para poder hacer
comparaciones y poder discriminar con algún parámetro.
Gracias de antemano.
--
*Ruben Fitó *
Software Engineer
r.f...@ubiquat.com <mailto:j.catari...@ubiquat.com>
www.ubiquat.com <http://www.ubiquat.com/>
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.
All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive
this message by mistake, please delete it and notify it immediately to
the sender.