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

Вниз

Как в запросе сгруппировать записи по неделям   Найти похожие ветки 

 
wHammer ©   (2005-02-18 09:09) [0]

Есть таблица, одно из полей типа дата. Как в запросе сгруппировать записи по неделям?


 
Johnmen ©   (2005-02-18 09:13) [1]

Никак.


 
wHammer ©   (2005-02-18 09:20) [2]

Печально т.к. в том же языке запросов 1С v8.0 (который практически копирует стандартный SQL) есть встроенная функция Неделя(), День(), Час() и т.п.


 
ЮЮ ©   (2005-02-18 09:36) [3]

Да уж, в MS SQL тоже можно
GROUP BY DatePart(year, DateField), DatePart(week, DateField)

Но у тебя то - Парадох, поэьоиу
1) Добавив поле WeekOfYear, заполнив его, и не забывая заботиться о нём в дальнейшем.
2) Высичлять его в запросе, который оформить как подзапрос, но такая вешь будет "тяжела"
3) как и в 2), но отобранные записи помешать в локальную БД (если многопользовательская система) или в рабочую таблицу с необходимой структупой (если одноаользовательская) и группировать данные уже оттуда.


 
Danilka ©   (2005-02-18 09:38) [4]

[2] wHammer ©   (18.02.05 09:20)
Хех, сравнил скуль сервер с древним парадоксом.


 
Johnmen ©   (2005-02-18 09:42) [5]

>wHammer ©   (18.02.05 09:20) [2]

Ты же спрашивал про группировку, а не про функции.


 
wHammer ©   (2005-02-18 09:50) [6]


> Johnmen ©   (18.02.05 09:42) [5]
> >wHammer ©   (18.02.05 09:20) [2]
>
> Ты же спрашивал про группировку, а не про функции.


все правильно. Вот что я пишу чтобы сгруппировать записи по неделям:
...
GROUP BY
Nom, НачалоПериода(ПолеТипаДатаВремя,Неделя)
...



> ЮЮ ©   (18.02.05 09:36) [3]


Да неверное без дополнительного поля здесь не обойтись...


 
Danilka ©   (2005-02-18 09:51) [7]

[6] wHammer ©   (18.02.05 09:50)
Думаю, во всех современных скуль-серверах есть возможность группировать по функции. Но тебе-же надо именно парадокс? :)


 
wHammer ©   (2005-02-18 10:05) [8]


> Danilka ©   (18.02.05 09:51) [7]


У меня 1С не скуль а стандартный 1C-вский файл-сервер .1CD
Ну и потом я же к таблице парадокса обращаюсь посредством SQL в TQuery.


 
Danilka ©   (2005-02-18 10:19) [9]

[8] wHammer ©   (18.02.05 10:05)
Думаешь, 1с в 8-ке свой движек с нуля написала? Сомневаюсь, хотя может быть. Однако, даже если и так, этот движек должен был-бы соответсвтвовать своему времени, не так-ли? А LocalSQL который используется в БДЕ для доступа к парадоксу, дбф-кам, ну, древний он. :)


 
sniknik ©   (2005-02-18 10:56) [10]

> Ну и потом я же к таблице парадокса обращаюсь посредством SQL в TQuery.
в переводе это через BDE значит?
так, правильно нет там такого, а твой 1С скорее всего работает через OLEDB провайлера (COM обьект, легче подключить), возьми того же провайдера и будут тебе те же функции (только не по русски, это уже 1С-овская "примочка").

не знаю что там конкретно используется, а провайдер Jet (может он и используется, и в дельфях тоже не возбороняется) можно подключить к парадоксу и там
> есть встроенная функция Неделя(), День(), Час() и т.п.
Day, Hour, и т.д. (неделя сложнее, не выделена в отдельную фунцию можно только DatePart("ww", )-это недели с начала года, но думаю и 1С в это переводит)
групировки по функциям тоже позволяются.



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
3-1108544034
AlexTregubov
2005-02-16 11:53
2005.03.20
Как с помощью SQL-запроса узнать сколько человеку лет?


1-1110029514
Peter_cc
2005-03-05 16:31
2005.03.20
Служба!help!


14-1109835563
ISP
2005-03-03 10:39
2005.03.20
Наконец-то админы смогут спать спокойно :)


1-1109944168
bon
2005-03-04 16:49
2005.03.20
Autocad &Delphi


3-1108827860
Sour
2005-02-19 18:44
2005.03.20
Service is currently busy: Display User