Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
есть таблица tbl id | date | val 0 01 1 1 01 2 2 02 3 3 02 4 4 03 5 5 05 6 хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных. те. для 02 значения val это 1 2 для 03 значения val это 1 2 3 4 для 05 значения val это 1 2 3 4 5 нужен результат. как решить одним запросом???? пытаюсь сделать вот так, а не получается: select t1.id, t1.date, sum( t2.val ) from tbl t1, tbl t2 where t1.id = t2.id and t1.date > t2.date and t1.date > 01 and t1.date < 06 group by t1.id, t1.date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 19:35 |
|
||
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
Не совсем понял, что ты хочешь сделать, но что именно не получается у тебя? Ругается на ошибку или не те данные. Покажи тогда пример второй таблицы и определи правила связи двух таблиц. А то в таком виде не очень понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 20:24 |
|
||
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
ynkulbyhесть таблица tbl id | date | val 0 01 1 1 01 2 2 02 3 3 02 4 4 03 5 5 05 6 хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных. те. для 02 значения val это 1 2 для 03 значения val это 1 2 3 4 для 05 значения val это 1 2 3 4 5 нужен результат. как решить одним запросом???? пытаюсь сделать вот так, а не получается: select t1.id, t1.date, sum( t2.val ) from tbl t1, tbl t2 where t1.id = t2.id and t1.date > t2.date and t1.date > 01 and t1.date < 06 group by t1.id, t1.date Ну приблизительно так select date, (select sum(val) from tbl a where a.date > b.date ) from tbl b order by date С уважением . P.S. Да здарвствует Великая Ноябрьская Оранжевая Революция!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2004, 12:50 |
|
||
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
Pochemu by ne proverit' pered publikaciej ? create database z1; create table tbl (date int, val int); insert into tbl values (1, 1); insert into tbl values (1, 2); insert into tbl values (2, 3); insert into tbl values (2, 4); insert into tbl values (3, 5); insert into tbl values (5, 6); select date, (select sum(val) from tbl a where a.date > b.date ) from tbl b order by date date (expression) 1 18 1 18 2 15 3 11 4 6 5 Eto kak-to daleko ot zhelaemogo rezul'tata 2 1 2 2 3 1 3 2 3 3 3 4 5 1 5 2 5 3 5 4 5 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 17:29 |
|
||
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
Я ошибся нужно было "<" у меня больше ">" Человеку свойственно ошибаться Прошу прощения. В этом случае Код: plaintext 1. 2. 3. 4. 5. 6. автор хочу вывести выборку по датам, например с 02 по 05 так, что бы просуммировать val для всех дат меньше выбанных. что касается требуемого решения, пожалуйста: Код: plaintext 1. 2. 3. to vybegallo Если Ваше сообщение касается меня лично, в будущем можете писать на английском, для меня и думаю для вас это будет более удобно нежели транслитом. с уважением, onstat ps Оранжевая революция победит!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 11:52 |
|
||
|
выборка с датой
|
|||
|---|---|---|---|
|
#18+
Исходя из наличия ключевого поля и соответственно возможности иметь несколько записей с одинаковыми датой и значением val, я бы сказал, что distinct надо добавить в суммирующий селект: select distinct date, (select sum(val) from tbl a where a.date < b.date ) from tbl b order by date выборочный селект работать не будет : delete from tbl where 1=1; insert into tbl values (1, 1); insert into tbl values (1, 2); insert into tbl values (2, 3); insert into tbl values (2, 3); -- !!! insert into tbl values (2, 4); insert into tbl values (3, 5); insert into tbl values (5, 6); без distinct : select a.date, b.val from tbl a inner join tbl b on a.date>b.date order by 1,2 date val 2 1 2 1 2 1 2 2 2 2 2 2 3 1 3 2 3 3 3 3 3 4 5 1 5 2 5 3 получается куча лишних значений. с distinct - пропущено одна пара 3 2 : select distinct a.date, b.val from tbl a inner join tbl b on a.date>b.date order by 1,2 date val 2 1 2 2 3 1 3 2 3 3 3 4 5 1 5 2 5 3 5 4 5 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 17:03 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=32817143&tid=1609148]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 141ms |

| 0 / 0 |
