Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Contar, Agrupar, Ordenar
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Contar, Agrupar, Ordenar 
 
Hola!.

Hace bastantes años cree una base de juegos de pc en Access y estuve haciendo distintos tipos de consultas.
En la que estoy ahora practicando un poco, trato de querer contar el número de juegos según su categoría, pero en sqlite.

Voy a mostraros la consulta como la hice ahora.
Así por ejemplo podía tener 50 juegos árcades, 23 de plataformas, etc,etc..

SELECT count(categoria) AS cantidad_de_juegos,categoria FROM baseamiga GROUP BY categoria ORDER BY count(categoria) DESC;
 


cantidad_de_juegos, no es un campo que existe en la base, se crea. ¿ Campo calculado ?. Lo he visto de otras formas.
Me gustaría saber si es mejorable. Si es adecuada. Funcionar, funciona.

Y está es la instrucción de aquella base de juegos de pc que cree en su día con Access.

SELECT Count(Titulos.cds) AS CuentaDecds, Titulos.tipo, Titulos.clase
FROM Titulos
GROUP BY Titulos.tipo, Titulos.clase
ORDER BY Count(Titulos.cds) DESC;
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Citar:
cantidad_de_juegos, no es un campo que existe en la base, se crea. ¿ Campo calculado ?. Lo he visto de otras formas.
Me gustaría saber si es mejorable. Si es adecuada. Funcionar, funciona.


cantidad_de_juegos es simplemente el nombre que le das al resultado de la función count. Select devuelve una información, texto ascii, en forma de columnas, a esas columnas tienen una cabecera y esa cabecera no tiene por qué ser el nombre del campo, para eso existe la clausula AS, que en muchas versiones de SQL se puede omitir (Select count(micampo) 'Total' from ...).

Respondiendo cantidad_de_juegos no existe en la base de datos, es el resultado de un proceso al que se le da un nombre. (Bueno, existir existe de forma implícita, de la misma manera que si tienes un 2 y un 2 tienes un cuatro y un 0 implícitos, según apliques el + o el -).

No sé si te respondo con eso.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
A parte de eso:

Citar:
ORDER BY count(categoria) DESC


No es realmente necesario. Lo que hace es ordenarlos de mayor a menor. Si no pones cláusula order by, el resultado saldrá ordenado por categorías, qroup by se encarga de ello. Estas ordenaciones y agrupaciones, no hablemos ya de cláusulas distinct, Having y cosas por el estilo, suelen ralentizar mucho las consultas, por cuanto que primero hay que recuperar todos los datos y luego ordenarlos, etc. En este caso, (hablo de memoria de lo aprendido hace muchos años) la base tiene que recuperar todos los datos ordenarlos por categoria, y procesarlos de uno en uno para ir sumando contadores y luego reordenar ese resultado de mayor a menor. Dependiendo del número de registros, etc, la cosa se puede poner muy lenta... o ser inapreciable el lapsus.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Shordi:

Lo que pretende es contar el número de veces que se repite una categoría y ordenar según la cantidad obtenida de categorías, en orden descendente.
La idea no es ordenar alfabéticamente por categorías. La salida puede ser así:

 ejemplosalidaconsulta

Habrá veces que el proceso requerido no tiene mas remedio que ser lento. Según el tipo de consulta.
Estas buscando un resultado, a menos que se pueda hacerse de otra forma.

En esta base estamos hablando de 300 registros. A lo mejor no son muchos.

Supongo que, los pc's que usareis para estas tareas no serán lentos.
Por cierto, ¿ cada cuanto tiempo soléis actualizar un pc en el trabajo ?.

¿ Cambiarías algo en la sentencia ?.

La verdad es que hace bastante que no usaba este tipo de consultas. Pero venía bien para esta base de datos.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Citar:
y ordenar según la cantidad obtenida de categorías, en orden descendente.

Pues perfecto entonces.
Citar:
En esta base estamos hablando de 300 registros. A lo mejor no son muchos.

Eso no es nada. No te molestes en mirar. Salvo que tu ordenata sea un cacharro, 300 se manejan en cerocoma.

Citar:
Supongo que, los pc's que usareis para estas tareas no serán lentos.
Por cierto, ¿ cada cuanto tiempo soléis actualizar un pc en el trabajo ?

Esta tarea, el manejo de la base de datos, la hace el servidor de base de datos, no el PC cliente.
De servidor tengo ahora un I3 con 12 GB de RAM y un disco de 2 TB con un MySQL supervitaminado.
El tamaño medio de la tabla que manejamos es de unos 3000 Registros y los tiempos de latencia no son significativos todavía...

Los pc Clientes... hay de todo. el más pequeño es un... no_sé_qué_AMD_previo_al_dual_Core con dos GB de RAM y el más moderno es un I3 con 4GB.
Los actualizo según el método de la botella de cerveza, que es un montón de trabajo, pero mantiene el parque de bichos más o menos homogéneo.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Citar:

Esta tarea, el manejo de la base de datos, la hace el servidor de base de datos, no el PC cliente.


Me estoy perdiendo muchas cosas de bases de datos. Sobre todo el tema de base de datos en distintas máquinas.
Quien sabe si con VirtualBox.  

Citar:

... un MySQL supervitaminado.


  

Citar:

..Los actualizo según el método de la botella de cerveza, que es un montón de trabajo, pero mantiene el parque de bichos más o menos homogéneo.


¿ Qué es eso ?. ¿ Cuando ya no tienen gas ?. ¿ Qué todos sean parecidos  (como si fuera la botella de la misma marca) ?
Eso si que es tecnicismo y lo demás son chorradas. Nunca dejas de aprender en la comunidad gambas. "El método de la botella de cerveza". La polla en vinagre.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Jorge:

Por mas que busco el método de la botella de la cerveza, lo único que encuentro es:

- Como enfriar rápidamente la cerveza. ( No veas como la gente se preocupa de esto ).
- Como abrir una cerveza de 20 maneras distintas.  

Uno se ha hecho famoso por abrirlas con el...culo.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Contar, Agrupar, Ordenar 
 
Citar:
¿ Qué es eso ?. ¿ Cuando ya no tienen gas ?. ¿ Qué todos sean parecidos  (como si fuera la botella de la misma marca) ?
Eso si que es tecnicismo y lo demás son chorradas. Nunca dejas de aprender en la comunidad gambas. "El método de la botella de cerveza". La polla en vinagre.

Supongamos que tienes una estantería donde vas dejando las botellas de cerveza vacías que te has bebido. Dado que no estás para muchos trotes, lo que haces es poner la nueva en el sitio más cercano a tí y empujar las otras para hacerles sitio. Todas se desplazan un lugar... y la última, la más antigua cae al suelo.
Ese es el método. Compras un aparato nuevo y el más viejo (léase malo) lo tiras (Tirar: quitar piezas para repuestos y llevar al contenedor todo lo no reciclable). ¿Por qué da trabajo? porque, a diferencia de las cervezas, los ordenatas son modificables y varían su posición dentro de la estantería. Así al "tirar" el más débil, resulta que tenía una tarjeta de Video buena y dos módulos de RAM reciclabes. Se los pones al que ahora es el útlimo y con eso "adelanta" tres posiciones en la estantería. Pero, al cambiarle la tarjeta de vídeo, la que le quitas resulta que es mejor que la del ahora es el último, por lo que se la cambias y éste adelanta dos posiciones... etc. etc. Después de muchos cambios, la estantería se estabiliza y todo queda a la espera de que venga el próximo ordenata nuevo.

También se le llama el método del gallinero, por una cosa que hacen las gallinas: Establecen la jerarquía del gallinero a picotazos. Cuando metes una gallina nueva, por algún misterio, toda la jerarquía se elimina y vuelve a haber un reparto generalizado de picotazos hasta que todas vuelven a tener claro cual es su sitio...

Hace tantos años que utilizo la metáfora de las botellas de cerveza, que no recuerdo de dónde la saqué. No había internet entonces, algún libro, supongo...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Hacer Un Reporte En Gambas Que Se Pueda Ag... jj231089 General 2 Sabado, 15 Marzo 2014, 12:01 Ver último mensaje
angelnu
No hay nuevos mensajes Agrupar Datos En Los Reportes jj231089 General 4 Sabado, 05 Abril 2014, 12:26 Ver último mensaje
jsbsan
No hay nuevos mensajes Agrupar Clases En Que Tipo De Variable? v3ctor General 5 Martes, 19 Julio 2016, 15:20 Ver último mensaje
vuott
No hay nuevos mensajes Refugio De Animales. Ejercicios, Agrupar. Shell Aplicaciones/Fragmentos de Código 1 Domingo, 23 Octobre 2016, 09:40 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron