SELECT CLI1.id, CLI1.idcliente, SUM(CLI1.primas), ROW_NUMBER() OVER( ORDER BY SUM(CLI1.primas)ASC ) as 'posicion'
FROM sb_clipro CLI1
WHERE CLI1.idproducto IN (
SELECT sb_producto.id FROM sb_producto
WHERE sb_producto.nombre IN ('AUT')
)
GROUP BY CLI1.id, CLI1.idcliente
ORDER BY SUM(CLI1.primas)
y la clave para el autonumérico es:
ROW_NUMBER() OVER( ORDER BY SUM(CLI1.primas)ASC )
Como vemos la palabra clave ROW_NUMBER() , su propio nombre indica que cuenta los registros, sin embargo, debe ir acompañada de uan sentencia over donde se coloca un ORDER BY fundamental sobre la cual tomará la base ROW_NUMBER() y colocar el autonumerico.
Espero les sirva.
Sean felices! :) Y sientanse libres de opinar ;)
Gracias por el dato, me funcionó muy bien.
ResponderEliminarsuuuper muchas gracias. Cyn
ResponderEliminarGracias Che!
ResponderEliminarMuchas gracias, excelente tip
ResponderEliminarBuenos dias, me he encontrado con este problema y pensaba que tus indicaciones me servirian, pero he introducido tu sentencia ROW_NUMBER pero me da error de sintaxis, y no consigo dar con el.
ResponderEliminarSELECT cotizaciones.fecha, ROW_NUMBER() OVER( ORDER BY cotizaciones.fecha ASC ) as 'posicion'
FROM cotizaciones
GROUP BY cotizaciones.fecha
HAVING (((cotizaciones.fecha)>#1/8/2018#))
ORDER BY cotizaciones.fecha DESC;
te mando la secuencia de SQL, te estaria muy agradecido si me indicas el fallo.
En espera de tus noticias te saludo atentamente