Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

поможите с SQL запросом (сервер MySQL)   Найти похожие ветки 

 
DillerXX   (2008-01-26 15:02) [0]

Пусть дана таблица date_ DATE, inf INT. значения date_ уникальны. Мне нужно найти сумму значений inf по каждой неделе из всего временного промежутка, который описывает таблица. При чём неделя начинается во вторник, а заканчивается в понедельник. Ну тоесть по сути, полная аналогия вот с такой задачей: есть бассейн, регистрируем сколько людей было в бассейне в день. Хотим посчитать статистику посещения за каждую неделю (недели так же начинаются во вторник). И если ещё не наступил конец недели, то её выводить не надо. Пытался, ничего хорошего не получилось. Пойдёт алгоритм даже за куб.


 
Юрий ©   (2008-01-26 15:04) [1]

SELECT SUM(inf) FROM table GROUP BY WEEK(date); ?


 
Юрий ©   (2008-01-26 15:05) [2]

Хотя, судя по всему, не в тему. :)


 
Kerk ©   (2008-01-26 15:38) [3]

Недавно была похожая ветка
Но для кастрата MySQL даже не знаю что посоветовать кроме временной использования таблицы с двумя полями: количество_человек_в_день,  номер_недели_к_которой_день относится. А там уже совсем просто посчитать.


 
DillerXX   (2008-01-26 15:40) [4]


> не в тему

Угу.

Мне не нужна статистика по номерам недели в месяцах, мне нужна статистика (сумма) по каждому промежутку вторник-понедельник из всех описанных в таблице записей. Никак не придумаю как уникально идентифицировать каждый такой промежуток, чтобы можно было сделать обычный GROUP BY и отфильтровать последнюю незаконченную неделю...


 
DillerXX   (2008-01-26 15:41) [5]


> номер_недели_к_которой_день относится

Вот это как бы?


 
Kerk ©   (2008-01-26 15:44) [6]


> DillerXX   (26.01.08 15:41) [5]

week(day-1) ?


 
sniknik ©   (2008-01-26 15:45) [7]

Юрий ©   (26.01.08 15:04) [1]
> SELECT SUM(inf) FROM table GROUP BY WEEK(date); ?
SELECT SUM(inf) FROM table GROUP BY WEEK(date-1);
если у них там недели начинаются с понедельника (могут с субботы например, или вообще настраиваться как в mssql... но тогда бы вопроса не было бы)


 
Юрий ©   (2008-01-26 15:48) [8]

> [7] sniknik ©   (26.01.08 15:45)
> SELECT SUM(inf) FROM table GROUP BY WEEK(date-1);

Не совсем верно, нужно (как я понял) для всех промежутков вторник-понедельник, а не для только одного года.


 
DillerXX   (2008-01-26 15:49) [9]

Тьфу мля, я идиот :( Мне как то в башку стукнуло что WEEK вернёт номер недели в месяце, а не в году, хотя даже документацию прочитал.. Всем спасибо, извиняюсь.


 
DillerXX   (2008-01-26 15:51) [10]


> нужно (как я понял) для всех промежутков вторник-понедельник,
>  а не для только одного года.

В принципе да, но в данном случае проект кратковременный, а год только начался :) Если подскажите как будет в течении года, буду благодарен, на будущее.


 
DillerXX   (2008-01-26 16:04) [11]


> Если подскажите как будет в течении года, буду благодарен,
>  на будущее.

Если подскажите как будет вне границ года, буду благодарен, узнаю на будущее.



Страницы: 1 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1202528961
Dmitry S
2008-02-09 06:49
2008.03.02
освобождение памяти дин. массива


8-1174354813
DDDeN
2007-03-20 04:40
2008.03.02
Передать аудио-поток на IceCast


2-1202556804
oleg_teacher
2008-02-09 14:33
2008.03.02
События


2-1202234029
Stenfit
2008-02-05 20:53
2008.03.02
Советы по оптимизации


15-1201286106
Джо
2008-01-25 21:35
2008.03.02
Восстановление данных учетной записи (Win XP)