Ответы пользователя по тегу SQLite
  • Sql просуммировать значения в 100 колонках?

    @rll
    Без использования языков программирования, чисто средствами коммандной строки SQLITE можно сделать так:

    Допустим это исходные данные (примерно как у автора запроса?):
    CREATE TABLE if not exists mytable (id integer, column1 integer, column2 integer, column3 integer);
    insert into mytable values (1, 54, 88, 99);
    insert into mytable values (2, 22, 12, 778);
    insert into mytable values (3, 0, 123, 88);
    insert into mytable values (4, 7, 42, 35);
    insert into mytable values (5, 5, 47, 23);


    Тогда сумму колонок можно получить так:
    create table if not exists temp(a text, b text, c text, d text, e text, f text);
    
    .out temp.txt
    pragma table_info('mytable');
    .out stdout
    
    .import temp.txt temp
    
    .out temp.txt
    select 'select ' || group_concat(b, '+') || ' as resultColumn from mytable;' from temp where b like 'column%';
    .out stdout
    drop table temp;
    
    .read temp.txt


    Команды можно подсунуть в SQLITE в виде скрипта, тогда даже и набирать их не надо.
    Ответ написан
    Комментировать