Este es un tema recurrente... Vamos a ver si se entiende bien:
1) NUNCA se almacenan valores numéricos en campos VARCHAR. Para eso se han creado los INT, DECIMAL, FLOAT y los demás.
2) NUNCA se almacenan los separadores de miles. Esos NO EXISTEN para los sistemas informáticos, sino que son temas de REPRESENTACION VISUAL.
3) Cuando almacenas un numero como VARCHAR, estás a) desperdiciando espacio de almacenamiento, ya que los números no se almacenan como cifras sino como binarios, y b) generando ordenamientos erróneos.
4) Cuando realizas consultas en SQL debes recordar que EL PUNTO ES EL SEPARADOR DE DECIMALES, no de miles
Usa esto y luego la visualización de datos la resuelves en PROGRAMACION:
Código MySQL:
Ver original
--
-- Volcado de datos para la tabla `ventas`
--
(253, 65000 ),
(591, 30800 ),
(827, 1077600 ),
(880, 1953700 ),
(954, 2800000 ),
(967, 1150000 ),
(1005, 1595900 ),
(1066, 1690000 ),
(1122, 1150000 ),
(1128, 120000 ),
(1190, 1000000 ),
(1234, 1380000 ),
(1276, 1678.00 ),
(1286, 27000 ),
(1335, 29000 ),
(1385, 132500 ),
(1538, 28800 ),
(1962, 79000 ),
(1975, 25000 ),
(2019, 24900 ),
(2050, 1100000 ),
(2084, 70000 ),
(2091, 80000 ),
(2096, 125000 ),
(2139, 126352 ),
(2143, 22000 ),
(2151, 30000 ),
(2173, 145258 ),
(2174, 125147 );
REspecto al punto 4:
Código MySQL:
Ver original+------+------------+
| id | precio |
+------+------------+
| 1128 | 120000.00 |
| 2096 | 125000.00 |
| 2174 | 125147.00 |
| 2139 | 126352.00 |
| 1385 | 132500.00 |
| 2173 | 145258.00 |
| 1190 | 1000000.00 |
| 827 | 1077600.00 |
| 2050 | 1100000.00 |
| 1122 | 1150000.00 |
| 967 | 1150000.00 |
| 1234 | 1380000.00 |
| 1005 | 1595900.00 |
| 1066 | 1690000.00 |
| 880 | 1953700.00 |
| 954 | 2800000.00 |
+------+------------+
16 rows
in set (0.00 sec
)
Por favor, presta atención a lo que te digo. Es muy importante que uses los tipos de datos CORRECTOS, y resuelvas la representación visual
en la capa que corresponde, y no es en la BBDD