Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2015, 15:38
luisalberti
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Problema al buscar por precio

Hola tengo una tabla con precios separados por un punto, 120.000, estoy buscando mayor que y menor que tal como especifico abajo.

Si busco menores de 80.000 también me aparecen los menores de 80.000 y también los que sean mayores de 1.000.000 millón. Hay es donde tengo el problema con los millones que no deberían aparecer.
Código SQL:
Ver original
  1. SELECT *
  2. FROM ventas
  3. WHERE precio < 80.000
  4. ORDER BY precio ASC
  5. LIMIT 0 , 30

SALIDA

Código HTML:
Ver original
  1. Textos completos    id  precio Ascendente
  2.     Editar Editar   Copiar Copiar   Borrar Borrar   1190    1.000.000
  3.     Editar Editar   Copiar Copiar   Borrar Borrar   827     1.077.600
  4.     Editar Editar   Copiar Copiar   Borrar Borrar   2050    1.100.000
  5.     Editar Editar   Copiar Copiar   Borrar Borrar   1122    1.150.000
  6.     Editar Editar   Copiar Copiar   Borrar Borrar   967     1.150.000
  7.     Editar Editar   Copiar Copiar   Borrar Borrar   1234    1.380.000
  8.     Editar Editar   Copiar Copiar   Borrar Borrar   1005    1.595.900
  9.     Editar Editar   Copiar Copiar   Borrar Borrar   1276    1.678,00
  10.     Editar Editar   Copiar Copiar   Borrar Borrar   1066    1.690.000
  11.     Editar Editar   Copiar Copiar   Borrar Borrar   880     1.953.700
  12.     Editar Editar   Copiar Copiar   Borrar Borrar   954     2.800.000
  13.     Editar Editar   Copiar Copiar   Borrar Borrar   2143    22.000
  14.     Editar Editar   Copiar Copiar   Borrar Borrar   2019    24.900
  15.     Editar Editar   Copiar Copiar   Borrar Borrar   1975    25.000
  16.     Editar Editar   Copiar Copiar   Borrar Borrar   1286    27.000
  17.     Editar Editar   Copiar Copiar   Borrar Borrar   1538    28.800
  18.     Editar Editar   Copiar Copiar   Borrar Borrar   1335    29.000
  19.     Editar Editar   Copiar Copiar   Borrar Borrar   2151    30.000
  20.     Editar Editar   Copiar Copiar   Borrar Borrar   591     30.800
  21.     Editar Editar   Copiar Copiar   Borrar Borrar   253     65.000
  22.     Editar Editar   Copiar Copiar   Borrar Borrar   2084    70.000
  23.     Editar Editar   Copiar Copiar   Borrar Borrar   1962    79.000





En cambio si busco mayores de 80.000 me salen los mayores de ochenta mil pero no los millones que aquí si deberian salir.
Código SQL:
Ver original
  1. SELECT *
  2. FROM ventas
  3. WHERE precio > 80.000
  4. ORDER BY precio ASC
  5. LIMIT 0 , 30


SALIDA

Código HTML:
Ver original
  1. id  precio Ascendente
  2.     Editar Editar   Copiar Copiar   Borrar Borrar   1128    120.000
  3.     Editar Editar   Copiar Copiar   Borrar Borrar   2096    125.000
  4.     Editar Editar   Copiar Copiar   Borrar Borrar   2174    125.147
  5.     Editar Editar   Copiar Copiar   Borrar Borrar   2139    126.352
  6.     Editar Editar   Copiar Copiar   Borrar Borrar   1385    132.500
  7.     Editar Editar   Copiar Copiar   Borrar Borrar   2173    145.258


Alguien me puede ayudar, recalcar que la base de datos tiene muchos registros aquí solo pongo un ejemplo y que los campos de precio son varchar(50) ya que el que diseño la base de datos lo puso así.

Mi principal pregunta es esa, por que me muestra lo millones cuando es menor de 80.000 y cuando pongo mayor de 80.000 no.



Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `ventas` (
  2.   `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3.   `precio` VARCHAR(50) DEFAULT NULL,
  4.   PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2180 ;
  6.  
  7. --
  8. -- Volcado de datos para la tabla `ventas`
  9. --
  10.  
  11. INSERT INTO `ventas` (`id`, `precio`) VALUES
  12. (253, '65.000'),
  13. (591, '30.800'),
  14. (827, '1.077.600'),
  15. (880, '1.953.700'),
  16. (954, '2.800.000'),
  17. (967, '1.150.000'),
  18. (1005, '1.595.900'),
  19. (1066, '1.690.000'),
  20. (1122, '1.150.000'),
  21. (1128, '120.000'),
  22. (1190, '1.000.000'),
  23. (1234, '1.380.000'),
  24. (1276, '1.678,00'),
  25. (1286, '27.000'),
  26. (1335, '29.000'),
  27. (1385, '132.500'),
  28. (1538, '28.800'),
  29. (1962, '79.000'),
  30. (1975, '25.000'),
  31. (2019, '24.900'),
  32. (2050, '1.100.000'),
  33. (2084, '70.000'),
  34. (2091, '80.000'),
  35. (2096, '125.000'),
  36. (2139, '126.352'),
  37. (2143, '22.000'),
  38. (2151, '30.000'),
  39. (2173, '145.258'),
  40. (2174, '125.147');