KOltin
@KOltin
Начинающий "писатель" app :)

SUM столбца чисел с запятой?

В итоге вычисляется только целые, десятки и сотни не учитывает.
48,22
48,18
65
30,16
50
35,17
28,41
150
27,04
141
33,56
30,20
30,12
45,21
90
100
115
180
10,04
15,05
4,02
CREATE TABLE excel (
    Start varchar(255),
    Duration varchar(255),
    Position varchar(255),
    Volume varchar(255),
    Sensor_name varchar(255),
Geofences_Objects varchar(255),
    Fueled varchar(255),
    Deviation varchar(255)
);

62285879d28a9319204677.png
  • Вопрос задан
  • 434 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Если данные должны суммироваться, то никакой запятой в них быть не должно. Десятичный разделитель для данных в mysql - ТОЧКА.
И числовые данные надо хранить в предназначенных для этого типах полей.
Со списком можно ознакомиться в документации: https://dev.mysql.com/doc/refman/8.0/en/numeric-ty... и выбрать наиболее подходящий. Это может быть либо тип с фиксированной точкой (DECIMAL), либо с плавающей (FLOAT).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Где то так, но лучше измените типы в бд
SELECT SUM(duration) as dumb,
SUM(CAST(REPLACE(duration,',','.') AS DECIMAL(30,2))) as casted 
FROM test.testtable;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы