[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: select sum по всем полям
balambasik
Всем привет.

Помогите составить запрос. И вообще возможен ли такой запрос...

Есть таблица у которой много столбцов ~ 50.
Все столбцы - integer.
Есть поле date - дата с детализацией по суткам, такая 20170223.

Мне нужно получить все значения полей за определенную дату. Это легко делает обычный select * where date = 20170223.


Вопрос. Как мне получить сумму по каждому столбцу за диапазон дат. Знаю про select sum(имя столбца) - но как я уже написал у меня больше 50 столбцов. Не перечислять же имена всех столбцов?
depp
структуру бы увидеть, чтобы нагляднее было. так то решение пока видится, но хотелось бы точную структуру.
sergeiss
balambasik, а в чем проблема перечислить все 50 столбцов? Сделал один раз вьюху и вызывай ее сколько угодно раз.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
balambasik
Да. Как оказалось, имена столбцов нужно указывать явно.

Но так как я пишу на Codeigniter (как бы его не ругали, я считаю что это первый из фреймворков который нужно понять) это оказалось очень легко реализовать.


// получаем имена всех полей таблицы
$fields = $this->db->list_fields('table');

foreach($fields as $field){
// строим запрос select sum для каждой колонки
$this->db->select_sum($field);
}

// условие выборки
$this->db->where('date >=', '20170218');
$this->db->where('date <=', '20170223');

// собственно запрос
$query = $this->db->get('table');

//вуаля
print_r($query->result_array());


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.