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

[SOLUCIONADO] Agrupar datos si se repiten

Estas en el tema de Agrupar datos si se repiten en el foro de Mysql en Foros del Web. Tengo estos datos cargados: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original cant_venta  cliente   mercader    cantidad   precio 1             ...
  #1 (permalink)  
Antiguo 06/10/2014, 17:34
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Agrupar datos si se repiten

Tengo estos datos cargados:

Código MySQL:
Ver original
  1. cant_venta  cliente   mercader    cantidad   precio
  2. 1                juan      azucar         1             123
  3. 1                juan      cafe             2             413
  4. 2                fer        harina          3             232
  5. 3                jose      papa            4             433
  6. 3                jose      cebolla         4              22
  7. 3                jose      calabaza       8               424

quiero hacer una consultar que me devuelva en una fila todos los datos agrupados solo por cant_venta y cliente. Como hago esto nose si usando group by saldra???

Código MySQL:
Ver original
  1. 1         juan      azucar    1   123
  2.                        cafe        2   413
  3. 2         fer        harina     3    232
  4. 3         jose      papa       4    433
  5.                        cebolla    4     22
  6.                        calabaza  8    424
  #2 (permalink)  
Antiguo 06/10/2014, 17:54
Avatar de junior1920  
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 14 años
Puntos: 1
Respuesta: Agrupar datos si se repiten

CLARO DEBES DE HACERLO CON GROUP BY
Código MySQL:
Ver original
  1. SELECT cliente, cantidad FROM X
  2. INNER JOIN Y ON Y.ID=X.ID
  3. GROUP BY cantidad,cliente
  #3 (permalink)  
Antiguo 06/10/2014, 18:03
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Respuesta: Agrupar datos si se repiten

pero tengo todo en una misma tabla vos ahi usas inner join y es para 2 tablas esa funcion no?
  #4 (permalink)  
Antiguo 06/10/2014, 20:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Agrupar datos si se repiten

Cita:
Iniciado por Fernarey1810 Ver Mensaje
pero tengo todo en una misma tabla vos ahi usas inner join y es para 2 tablas esa funcion no?
Si lo tienes todo en una misma tabla, desde el vamos tienes mal diseñado todo, y sólo podrás resolverlo por programación, no por SQL.
Los datos que muestras están desnormalizados, lo que te traerá infinitas complicaciones para las consultas.
Los Clientes, Mercaderías, Compras, Ventas, Pagos, etc., deben componer diferentes tablas dentro de la base para poder realizar consultas como las que mencionas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/10/2014, 21:23
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Respuesta: Agrupar datos si se repiten

Lo solucione usando 2 consultas sql. No vivo de esto asi que no me voy a poner a normalizar nada, es solo un sistemita que tenia que hacer nada mas. no es nada profesional.
Código SQL:
Ver original
  1. SELECT cant_venta FROM ventas GROUP BY cant_venta;
  2.  
  3. SELECT * FROM ventas WHERE cant_venta = $rowv[cant_venta] ORDER BY cant_venta ASC
  4.  
  5. SELECT * FROM clientes WHERE id = '$rowve[id_cliente]'

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

Etiquetas: agrupar
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 08:09.