Una consulta SQL algo compleja

Me he registrado expresamente por esta duda, porque me haría muchísima falta. Resulta que tenemos una tabla con la lista de clientes y uno de los campos es la cantidad de veces que nos ha comprado. Entonces como haría el SELECT para obtener la lista de clientes con un campo añadido que seria el nº de clientes que han comprado más que el. De este modo ordenando por esa columna obtendría como una especie de Ranking, de los clientes que más han comprado:
1 - Jose Fernández - 73 compras
2 - Juan Muñoz - 56 compras
3 - Alberto García - 34 compras
.
.
.
Etc
Respuesta
1
Si lo que quieres es colocar un orden de número puedes colocar algo así:
SELECT cliente,nombrecliente,count(compra)
FROM compras
group by cliente
order by count(compra) desc
Para el número consecutivo, depende de donde lo presentes, ya que para este tipo de trabajos cuando lo realizo con visual basic, el consecutivo lo armo al momento de presentar los datos, si es desde el servidor de datos, no he visto todavía como, pero me fijo en un rato.
Pero necesito que la columna indique cuantos han comprado más que cada uno, se que es difícil... la tabla quedaría con estos campos:
1 - Jose Fernández - 73 compras
2 - Juan Muñoz - 56 compras
3 - Alberto García - 34 compras
El 1,2,3 es la columna que busco crear
Con algo como lo siguiente:
SELECT cliente,nombrecliente,count(compra)
FROM compras
group by cliente
Order by cliente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas