|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.09.2012, 17:46 | #1 |
Пользователь
Регистрация: 25.07.2011
Сообщений: 48
|
Возможен ли такой SQL запрос?
Таблица имеет такую структуру:
Start |Duration |InTotal |OutTotal 25.07.2012 20:54:31 |00:01:35 |135301 |36413 26.07.2012 9:59:02 |00:56:41 |29150413 |946207 и т.д. Мне необходимо найти сумму по третьей и четвертой колонкам группируя записи по дням, месяцам и годам. С SQL знаком поверхностно. Может быть он позволяет решить такую задачу, или проще своим кодом сделать сортировку? Последний раз редактировалось NaumOff; 23.09.2012 в 18:43. |
23.09.2012, 18:17 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Возможен, только для разных СУБД он будет по разному выглядеть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.09.2012, 18:20 | #3 |
Пользователь
Регистрация: 25.07.2011
Сообщений: 48
|
Аватар,
Это обнадеживает. Я использую SQLLite. SELECT Start,Duration,SUM(InTotal),SUM(Out Total) FROM Stata group by Start .... Осталось только додуматься как это поле Start разделить на дни, месяцы и годы. Мне кажется зря я дату записывал в таком формате, надо было yyyy-mm-dd. Сразу же возникли проблемы с сортировкой. UPD: Код:
Последний раз редактировалось NaumOff; 23.09.2012 в 19:04. |
23.09.2012, 21:16 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
365 запросов?! Это зачем?
думаю, что годовой запрос будет выглядеть примерно так: Код:
|
23.09.2012, 21:31 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Тут групприровка по Start не прокатит. Время мешать будет. Дату в Sqlite можно функцией date выдернуть и по результату группировать. Sqlite не пользуюсь, могу и ошибиться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.09.2012, 22:13 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
|
23.09.2012, 23:18 | #7 |
Пользователь
Регистрация: 25.07.2011
Сообщений: 48
|
Serge_Bliznykov,
ваш запрос не прошел. Годовой запрос делается так: Код:
Если есть статистика за год, то чтобы вывести суммы по дням надо сделать поиск аналогичным запросом по каждой дате, потому 365 запросов. По месяцам аналогично-12 запросов. Ничего лучше пока не придумал. Скачал "Введение в SQL" Грабера, буду изучать. |
24.09.2012, 08:41 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
ТС, какие 365 запросов? За каждый день года, по которому были операции
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.09.2012 в 09:05. |
24.09.2012, 10:43 | #9 | |
Пользователь
Регистрация: 25.07.2011
Сообщений: 48
|
Ругается на ваш запрос:
Цитата:
|
|
24.09.2012, 11:10 | #10 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Если это так - то это однозначно большой "косяк" в проектировании структуры. Я бы рекомедовал это исправить, если возможно, конечно. Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему такой код возможен и сколько выделится памяти? | Gtx541 | Общие вопросы C/C++ | 5 | 16.06.2010 19:38 |
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) | Машуля | SQL, базы данных | 4 | 06.05.2010 21:09 |
Как делается такой запрос\форма | kakawkin | Microsoft Office Access | 1 | 22.04.2010 20:07 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |
Возможен такой скрипт ??? | sasha14486 | PHP | 4 | 15.06.2009 10:58 |