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

Contar valores que se repiten en una tabla

Estas en el tema de Contar valores que se repiten en una tabla en el foro de Bases de Datos General en Foros del Web. Hola! muy buenas, tengo una base de datos de la siguiente manera | data_id | data_refferedby | | 1 | Google | | 2 | ...
  #1 (permalink)  
Antiguo 13/01/2011, 07:46
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Contar valores que se repiten en una tabla

Hola! muy buenas, tengo una base de datos de la siguiente manera

| data_id | data_refferedby |

| 1 | Google |
| 2 | |
| 3 | tv |
| 4 | Google |
| 5 | tv |
| 6 | radio |
| 7 | Google |
| 8 | |


como podeis ver en la columna refferedby hay registros que se repiten, otros que solo aparecen una vez y en algunos casos esta vacía.

me estoy hartando de leer y leer manuales PHP y MYSQL y lo unico que consigo es sacar por pantalla una lista con los nombres seguidos tal que así

google tv google tv radio google

lo que me gustaría es poder sacar algo como esto en una web sin que me importe mucho la presentacion

| contador | referido |
| 3 | Google |
| 2 | |
| 2 | tv |
| 1 | radio |

La cosa es leer el número de registros de cada celda que puede ser diferente y contarlos
Muchas gracias
  #2 (permalink)  
Antiguo 13/01/2011, 07:52
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar valores que se repiten en una tabla

Código MySQL:
Ver original
  1. SELECT COUNT(*) contador,referido FROM tabla GROUP BY referido;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 13/01/2011, 08:17
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Contar valores que se repiten en una tabla

gracias por responder tan rápido, pero soy muy profano en esto xD y no se muy bien donde tengo que poner eso xD tengo este código:

Código PHP:
<?PHP

$user_name 
"root";
$password "toor";
$database "db_fda";
$server "localhost";
$db_handle mysql_connect($server$user_name$password);
$db_found mysql_select_db($database$db_handle);

if (
$db_found) {

$SQL "SELECT * FROM data_members";
$result mysql_query($SQL);

while (
$db_field mysql_fetch_assoc($result)) {
print 
$db_field['data_refferedby'] . " . ";
}

mysql_close($db_handle);

}
else {
print 
"Database NOT Found ";
mysql_close($db_handle);
}

?>
muchas gracias
  #4 (permalink)  
Antiguo 13/01/2011, 08:31
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar valores que se repiten en una tabla

me imagino que debes cambiar
$SQL = "SELECT * FROM data_members";
por
$SQL = "SELECT COUNT(*) contador,data_refferedby FROM data_members group by data_refferedby";

Sin es así, debes explicarte un poco mas, dando detalles de la tabla, de los campos, de la consulta y el resultado esperado.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 13/01/2011, 17:29
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Contar valores que se repiten en una tabla

Vamos a ver siento si no me he explicado bien, voy a reformular todo: * *

Tengo una base de datos que se llama: db_fda

El nombre de usuario es : root

Y la contraseña : toor *

Dentro de la base de datos *hay varias tablas*

Data_members

Data_events

Data_blogs

Data_photos

etc...

Y dentro de la tabla Data_members hay 2 parametros:

|....Data_ID....|....Data_refferedby....|
|.........0.........|...........Google...........|
|.........1.........|...........(Vacio)........... |
|.........2.........|...........Google...........|
|.........3.........|..............TV............. .|
|.........4.........|...........Google...........|
|.........5.........|...........(Vacio)........... |


quiero hacer una web que coja los parametros de Data_refferedby, cuente los parametros duplicados y me los muestre en una página web mas o menos así:

|..referidopor..|....numero de veces....|
|.....Google.....|................3............... .|
|.....(Vacio).....|................2.............. ..|
|........TV........|................1............. ...|


eso es lo que quiero.
Bien el código que he conseguido hacer es el siguiente:
Código PHP:
<?PHP 

$user_name 
"root"
$password "toor"
$database "db_fda"
$server "localhost"
$db_handle mysql_connect($server$user_name$password); 
$db_found mysql_select_db($database$db_handle); 

if (
$db_found) { 

$SQL "SELECT * FROM data_members"
$result mysql_query($SQL); 

while (
$db_field mysql_fetch_assoc($result)) { 
print 
$db_field['data_refferedby'] . " . "


mysql_close($db_handle); 


else { 
print 
"Database NOT Found "
mysql_close($db_handle); 


?>
pero este código me muestra el resultado tal que así

google
(Vacio)
google
tv
google
(Vacio)

espero haber aclarado la consulta :D

GRACIAS!!
  #6 (permalink)  
Antiguo 14/01/2011, 03:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Contar valores que se repiten en una tabla

Parece que quieres algo así:
SELECT Data_refferedby referido_por, COUNT(*) numero_de_veces FROM Data_members GROUP BY Data_refferedby.

Y un consejo: nunca pongas tus claves reales en la red (me refiero al user_name y password de conexión; espero que no sean los auténticos; si lo son, edita y borra ese dato del post). Cualquier malintencionado (aquí no los hay, pero...) podría entrar en tus bases y causarles algún daño.

Última edición por jurena; 14/01/2011 a las 03:47
  #7 (permalink)  
Antiguo 14/01/2011, 08:20
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Contar valores que se repiten en una tabla

Cita:
Iniciado por jurena Ver Mensaje
Parece que quieres algo así:
SELECT Data_refferedby referido_por, COUNT(*) numero_de_veces FROM Data_members GROUP BY Data_refferedby.

Y un consejo: nunca pongas tus claves reales en la red (me refiero al user_name y password de conexión; espero que no sean los auténticos; si lo son, edita y borra ese dato del post). Cualquier malintencionado (aquí no los hay, pero...) podría entrar en tus bases y causarles algún daño.
no son mis claves reales xD, gracias de todas maneras :D

mira si pongo mi código con lo que me has dicho quedaría así:
Código PHP:
<?PHP  

$user_name 
"root";  
$password "toor";  
$database "db_fda";  
$server "localhost";  
$db_handle mysql_connect($server$user_name$password);  
$db_found mysql_select_db($database$db_handle);  

if (
$db_found) {  

$SQL "SELECT Data_refferedby referido_por, COUNT(*) numero_de_veces FROM Data_members GROUP BY Data_refferedby";  
$result mysql_query($SQL);  

while (
$db_field mysql_fetch_assoc($result)) {  
print 
$db_field['data_refferedby'] . " . ";  
}  

mysql_close($db_handle);  

}  
else {  
print 
"Database NOT Found ";  
mysql_close($db_handle);  
}  

?>
pero así me sale la pagina en blanco... he hecho la orden tal como me la has puesto en acces y si me sale, pero en php no... no se si soy un patatero o que estoy haciendo mal.
  #8 (permalink)  
Antiguo 15/01/2011, 12:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Contar valores que se repiten en una tabla

creo que es por que no agrupa por el campo adecuado, es decir, debemos poner el nombre del alias cuando llames al campo en el PHP.
Debe ser esto:

print $db_field['referido_por'] . " . ";

O si lo prefieres, quita el alias y deja el print como lo tienes:
SELECT Data_refferedby, COUNT(*) numero_de_veces FROM Data_members GROUP BY Data_refferedby

Paxanga,
en este foro no debemos escribir código de programación, como el de PHP. Aquí sólo escribimos SQL y sintaxis de la Base de datos. Las normas del foro así lo exigen. Cuando resolvemos el problema de la consulta, ya deberías, si sigues sin encontrar respuesta, buscar ayuda en el foro de programación.

Última edición por jurena; 15/01/2011 a las 15:07
  #9 (permalink)  
Antiguo 15/01/2011, 20:27
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Contar valores que se repiten en una tabla

Muchísimas gracias me abeis resuelto el problema, sois unos cracks, si tengo que puntuar o algo decidme donde es , un saludo

Etiquetas: contar, tablas
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 12:56.