Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Seleccionar registros con X caracteres, y contarlos

Estas en el tema de Seleccionar registros con X caracteres, y contarlos en el foro de Mysql en Foros del Web. Buenos días, Tengo la siguiente inquietud: Quiero seleccionar de mi base de datos, todos aquellos registros donde la columna "col" tenga exactamente 5 caracteres. El ...
  #1 (permalink)  
Antiguo 13/04/2007, 07:52
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Seleccionar registros con X caracteres, y contarlos

Buenos días,

Tengo la siguiente inquietud:
Quiero seleccionar de mi base de datos, todos aquellos registros donde la columna "col" tenga exactamente 5 caracteres.
El tema es que con CHAR_LENGTH, si quiero contar los registros donde la columna "col" tenga 2 caracteres, me suma tambien los que tienen más, es decir: los registros con 3 tambien tienen 2 caracteres, los de 4 también...y así. O dicho de otra manera, lo unico que no suma, son los que tienen 1 caracterer.

Trabajando un poco, hice algo así:
Código:
SELECT  * FROM  `tabla`  GROUP BY col HAVING CHAR_LENGTH( col ) = 5
y eso funciona, solo que después, tengo que hacer en mi php, un mysql_num_rows para obtener el numero de registros.

¿Se podrá anidar algo como para contar en la misma consulta y que solo devuelva el número?

Muchas Gracias,
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #2 (permalink)  
Antiguo 13/04/2007, 11:14
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Seleccionar registros con X caracteres, y contarlos

Hola,

Para contar usa count. En esa consulta que has puesto sería así:

Código:
SELECT  count(*) FROM  `tabla`  GROUP BY col HAVING CHAR_LENGTH( col ) = 5
Eso te retornará un solo dato que será el número de registros que cumplen con las condiciones expuestas, es decir, el número de registros cuyo valor para el campo col tiene una longitud de 5 caracteres.

Un saludo
  #3 (permalink)  
Antiguo 13/04/2007, 12:28
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Seleccionar registros con X caracteres, y contarlos

O con mysql_num_rows(), te arroja el valor total de los registros que fueron afectados por tu consulta.

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 13/04/2007, 22:08
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: Seleccionar registros con X caracteres, y contarlos

Javi, esa consulta me olvide de comentarla, también la probe pero me da el siguiente error:
Código:
 #1054 - Unknown column 'col' in 'having clause'
Aclaración: la columna existe dentro de la tabla...
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #5 (permalink)  
Antiguo 14/04/2007, 02:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Seleccionar registros con X caracteres, y contarlos

Hola Sabo

Donde javi_bus ha puesto col tienes que poner el nombre del campo de tu tabla.

Saludos,
  #6 (permalink)  
Antiguo 14/04/2007, 07:49
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: Seleccionar registros con X caracteres, y contarlos

JavierB, es por eso mismo que puse la aclaración. El campo existe....

Para evitar cualquier error, esta es la estructura de mi tabla
Código:
CREATE TABLE `abbrs` (
  `url` tinytext NOT NULL,
  `abbr` varchar(50) NOT NULL default '',
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `visited` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`abbr`)
)
Y que al ejecutar:
Código:
SELECT  count(*) FROM  `abbrs`  GROUP BY abbr HAVING CHAR_LENGTH( abbr ) = 5
Me devuelve el siguiente error:
Código:
#1054 - Unknown column 'abbr' in 'having clause'
Gracias.
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #7 (permalink)  
Antiguo 16/04/2007, 14:48
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: Seleccionar registros con X caracteres, y contarlos

Alguna sugerencia de porque me puede dar ese error?
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:22.