Форум: "Прочее";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
Внизпоможите с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.05 c