![]() |
Seleccionar el MAX de un COUNT
Hola amigos,
Soy un poco novatillo en esto del SQL y para aprender estoy haciendo un ejemplo con una base de datos de una librería. Tengo tres tablas: libros: registro,titulo,escritor,pais... compras: registro,id_libro,id_comprador compradores: registro,nombre,domicilio... La cosa es que estoy intentando sacar el mayor número de libros vendidos de un país. Para ello hago lo siguiente: Con esto consigo obtener un listado de países y de los número de libros vendidos por país ordenados de forma descendente. Pero no consigo lo q quiero que es obtener el país más vendedor. He intentado aplicar algo como MAX(COUNT(pais)) pero no funciona. ¿Alguien que me saque de dudas? Muchas gracias!!! |
Hola vejerf, sobre tu consulta podrías aplicar First o Top dependiendo de la BD que uses, para obtener el primer registro, así como esta tu consulta el primero sería el que tiene el Count mas alto.
O también
Saluditos |
No me funciona :(
Gracias por tu pronta respuesta Caro, pero la cosa es que no funciona con ninguna de las dos soluciones. Parece que no me reconoce ninguna de las dos palabras claves que me das ni first ni top.
Uso una base de datos MySQL. Gracias de todas formas |
creo que con
tendras el maximo cuenta (numero de libros vendidos, en teoria) por pais, no? Cita:
|
Hola de nuevo, en mysql tienes que utilizar Limit.
Saluditos |
Caro ahora sí que funciona... Muchas gracias ;)...
Coso, quizás no expliqué correctamente lo que buscaba. Lo intento de nuevo. Tengo una tabla de libros con campos como titulo, autor o pais, es decir, asociamos el libro a un pais según su autor. Por otra parte tengo la tabla compras que me relaciona un comprador con un libro comprado. Entonces en esta tabla cada registro podemos decir que equivale a la venta de un libro y ese libro lo teníamos asociado a un país. Lo que buscamos es el "país que más ventas ha tenido". Lo pongo entre comillas porque en realidad lo que se venden son los libros asociados a un país. Sé que es enrevesado pero es lo q me pedían :p... Espero haberme explicado un poco :confused::confused::confused: Gracias a los dos!!! |
Hola coso, creo que esta parte daría error
Cita:
Saluditos |
es posible caro, lo escribi de memoria y sql no es mi fuerte :rolleyes:. Gracias por la correccion.
|
Vamos, lo que buscabas era el numero de ventas del pais con mas ventas, no? Si, creo q si, entendido pues ;) un saludo
|
Pues si eso era lo que buscaba :o... ´
Por otra parte, la sentencia que propones me da error. Ya la había probado antes, pero me da un error y me dice que cada tabla debe tener su propio alias o algo así Caro |
Cita:
Saluditos |
Perdón por abusar de la confianza... pero ahora con esta última sentencia pues sí obtengo el max(cuenta) que es lo que buscaba... pero no puedo obtener el país. Pensé que sería tan sencillo como:
La cosa es que así no funciona... ¿por qué? |
La franja horaria es GMT +2. Ahora son las 12:50:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi