Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] Hacer una consulta de este tipo

Estas en el tema de Hacer una consulta de este tipo en el foro de CodeIgniter en Foros del Web. Saludos, me he topado con hacer una consulta a una tabla de la base de datos, que me cuente cuantos campos tienen el mismo valor. ...
  #1 (permalink)  
Antiguo 06/04/2015, 07:51
Avatar de chinofilmshd  
Fecha de Ingreso: agosto-2012
Ubicación: Republica Dominicana
Mensajes: 47
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Hacer una consulta de este tipo

Saludos, me he topado con hacer una consulta a una tabla de la base de datos, que me cuente cuantos campos tienen el mismo valor. Aqui le dejo un ejemplo:

Tabla: Ciudades

Código:
ID | nombre | edad | Ciudad | Id_User

1  | pablo     | 24 | New York | 12
2  | pablo     | 24 | New York | 12
3  | pablo     | 24 | New York | 12
4  | carlos    | 31 |     Peru     | 21
5  | carlos    | 31 |     Peru     | 21
y que la consulta me calcule las ciudades repetidas asi
New york : 3
Peru: 2

Actualmente he realizado una consulta pero solo me cuenta todos los valores de la fila Ciudad usando esto:

$num_scam->num_rows()
  #2 (permalink)  
Antiguo 06/04/2015, 09:21
Avatar de jamie_88  
Fecha de Ingreso: abril-2011
Ubicación: Lima
Mensajes: 161
Antigüedad: 13 años, 7 meses
Puntos: 28
Respuesta: Hacer una consulta de este tipo

Hola, más que un problema con el framework parece un problema de MySQL. Tienes que agrupar los items por ciudad (group by) y contar cuantos elementos hay (COUNT()).

Saludos
  #3 (permalink)  
Antiguo 06/04/2015, 12:35
Avatar de chinofilmshd  
Fecha de Ingreso: agosto-2012
Ubicación: Republica Dominicana
Mensajes: 47
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Hacer una consulta de este tipo

lo que estoy haciendo es lo siguiente:

Código PHP:
 $this->db->select('country');
        
$this->db->group_by("country");
        
$this->db->like('country''match');

        
$this->db->count_all_results('account_fbs');
        
$contador $this->db->get('account_fbs');
       
      return 
$contador->num_rows(); 
y me da como resultado la cantidad de campos de los registros.

pero lo que quiero es que me diga de esta forma:

Panama 12

Peru 4


Osea que habla 12 registros con el valor de panama y 4 de peru
  #4 (permalink)  
Antiguo 06/04/2015, 13:30
Avatar de jamie_88  
Fecha de Ingreso: abril-2011
Ubicación: Lima
Mensajes: 161
Antigüedad: 13 años, 7 meses
Puntos: 28
Respuesta: Hacer una consulta de este tipo

Prueba con:

Código PHP:
$contador$this->db->select('country, COUNT(*) as total'false)
    ->
from('account_fbs')
    ->
group_by("country")
    
//->like('country', 'match')
    
->get(); 
Cita:
Iniciado por chinofilmshd Ver Mensaje
lo que estoy haciendo es lo siguiente:

Código PHP:
 $this->db->select('country');
        
$this->db->group_by("country");
        
$this->db->like('country''match');

        
$this->db->count_all_results('account_fbs');
        
$contador $this->db->get('account_fbs');
       
      return 
$contador->num_rows(); 
y me da como resultado la cantidad de campos de los registros.

pero lo que quiero es que me diga de esta forma:

Panama 12

Peru 4


Osea que habla 12 registros con el valor de panama y 4 de peru
  #5 (permalink)  
Antiguo 06/04/2015, 14:15
Avatar de chinofilmshd  
Fecha de Ingreso: agosto-2012
Ubicación: Republica Dominicana
Mensajes: 47
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Hacer una consulta de este tipo

Jaime, Gracias por responder lo resolvi con esa misma sintaxis, muchas gracias

Etiquetas: Ninguno
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 02:38.