SQL - duda

   
Vista:

duda

Publicado por Isa (1 intervención) el 12/09/2013 10:46:10
Cómo se haría la query que solicitan? Me es un poco urgente..¡gracias

We have the following table: CREATE TABLE users (user_id integer, country varchar(32), cash integer). Write :a single query to get a row for each country with the following columns
country
number of users with more than 10 cash
number of users with more than 100 cash
number of users with more than 500 cash
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

duda

Publicado por Alberto (1 intervención) el 12/09/2013 11:50:54
Debes hacer un Group By y luego hacer Having en base al Count.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda

Publicado por leonardo_josue (880 intervenciones) el 12/09/2013 23:21:46
Hola Isa...

1. Si esto es una clase de tarea, al menos tómate el tiempo para traducir el texto, este es un foro en español y por lo tanto debes postear siempre en este idioma... lo único que se permite postear en inglés corresponde a las sentencias de los distintos lenguajes, Ojo con eso.

2. Te recuerdo que el foro NO HACE EL TRABAJO DE OTROS, por lo tanto lo menos que pedimos es que nos digas qué es lo que intentaste hacer y cuál es el problema que tienes... En tu post en realidad no mencionas algún tipo de problema, por lo tanto tal pareciera que lo que quieres es que hagamos tu trabajo. Postea cualquier cosa que hayas intentado hacer, no importa que esté mal, no estamos calificando eso... lo que queremos saber es que al menos estás intentando hacer la consulta por tu cuenta.

3. Si el trabajo es URGENTE, perdóname si soy muy duro, pero ese no es nuestro problema... Exigir que la respuesta sea pronta es una falta de respeto, te recuerdo que los que participamos en el foro lo hacemos de manera altruista, no ganamos nada por contestar, ni nos pagan por hacerlo, por lo tanto no vale exigir velocidad en las respuestas.

4. ¿Qué manejador de BD estás utilizando? Aunque la mayoría de los DBMS utilizan SQL,existen diferencias sintácticas importantes en cada uno de ellos, por lo tanto debes mencionar siempre este detalle.

5. Pasando a tu problema, dado que te piden presentar la información en el mismo renglón en forma de columnas, podrías utilizar SUMAS CONDICIONALES, es decir, sumas al estilo SUM(CASE WHEN ... THEN 1 ELSE 0 END), aquí hay algunos casos de cómo se usan:

http://www.lawebdelprogramador.com/foros/SQL/1320395-Consulta_SQL_Count_de_varios_campos.html

http://www.lawebdelprogramador.com/foros/SQL/1314078-SUMAR_DISTINTAS_CONDICIONES.html

Este tipo de consultas funcionan como los contadores de programación del tipo

1
contador = contador + 1

es decir, vas evaluando cada registro y lo contabilizando dentro de la categoría que le corresponda... tú tendrías tres categorías.

# cash entre 10 y 99
# cash entre 100 y 499
# cash con más de 500

lamentablemente este tipo de consultas no es soportada por algunos motores de BD, por eso es importante el punto anterior. Checa las ligas que te puse, si tienes dudas o sigues sin poder obtener la consulta, postea algo de lo que intentaste hacer y donde tienes problemas y con gusto te ayudamos con las correcciones.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar