Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Выборка по полю TDateTime FireBird 1.5   Найти похожие ветки 

 
S@shka ©   (2004-04-21 16:23) [0]

Есть таблица с записями вида...
MyDate                     Value
----------------------------------------
01.04.2004 11:00:15         1
01.04.2004 12:10:45         2
01.04.2004 13:00:10         2
01.04.2004 14:50:35         3
02.04.2004 01:00:15         1
02.04.2004 02:00:15         1
и т.д вообщем
Надо сделать выборку чтобы подсчитать SUM(Value) за день или месяц
Чтобы результат был....
01.04.2004  8
02.04.2004  2 и. т.д
или
04.2004     10
Как это сделать ??? Можно ли в запросе или надо как-то процедуру писать?


 
Johnmen ©   (2004-04-21 16:41) [1]

SELECT
 EXTRACT(DAY FROM MyDate)||"."||
 EXTRACT(MONTH FROM MyDate)||"."||
 EXTRACT(YEAR FROM MyDate) AS MyDateA,
 SUM(Value) AS MySum
FROM Table
GROUP BY 1


Кстати, какой диалект ?


 
S@shka ©   (2004-04-27 14:06) [2]

Диалект 3.
Эта выборка работает но
оператор GROUP By осуществляет сортировку по дням
т.е.
в итоге видим
23.4.2004 15
24.4.2004 10
26.3.2004 1
27.3.2004 2

причем именно в формате d.m.yyyy

а как по дате чтобы было отсортировано?
т.е.
26.3.2004 1
27.3.2004 2
23.4.2004 15
24.4.2004 10


 
Johnmen ©   (2004-04-27 14:09) [3]

>оператор GROUP By осуществляет сортировку

:)))))) никогда он этого не делал !

ORDER BY 2


 
S@shka ©   (2004-04-27 14:12) [4]

Хе-хе-хе
есно такое не катит :)


 
Johnmen ©   (2004-04-27 14:14) [5]

>Хе-хе-хе
>есно такое не катит :)

Плохо лыжи смазал...
:)))


 
Jack128 ©   (2004-04-27 14:21) [6]


> причем именно в формате d.m.yyyy


SELECT
cast(EXTRACT(MONTH FROM MyDate)||"/"||
EXTRACT(DAY FROM MyDate)||"/"||
EXTRACT(YEAR FROM MyDate) as date) AS MyDateA,
SUM(Value) AS MySum
FROM Table
GROUP BY 1

вот тебе в формате даты, сам решай в каком формате эту дату представлять..


 
S@shka ©   (2004-04-27 14:31) [7]

А серьезно?
Хорошо. На врал - не сортирует GRoup By может быть (а мож и сортирует :))
Но ...
факт остается фактом мне то нужно отсортированные данные получить.


 
S@shka ©   (2004-04-27 14:33) [8]

>> Jack128
Большое спасибо


 
Соловьев ©   (2004-04-27 14:37) [9]


> S@shka ©   (27.04.04 14:33) [8]

Такие вещи лучше на клиенте делать.


 
Johnmen ©   (2004-04-27 14:39) [10]

>факт остается фактом мне то нужно отсортированные данные получить.

Ещё раз. GROUP BY никакого отношения к сортировке не имеет, в отличие от ORDER BY (см.англо-русский словарь :))

ORDER BY 1


 
S@shka ©   (2004-04-27 15:30) [11]

>> Johnmen
хех это то я знаю.
однако факт остается фактом
пример >> Jack128 работает корректно


 
Johnmen ©   (2004-04-27 15:40) [12]

>S@shka ©   (27.04.04 15:30) [11]
>пример >> Jack128 работает корректно

Это случайность, обусловленная твоими данными.
Да чем он отличается от [1] ?

Если у тебя 3 диалект, то можно проще
SELECT CAST(MyDate AS DATE) AS MyDateA, SUM(Value) AS MySum
FROM Table
GROUP BY 1
ORDER BY 1


 
Jack128 ©   (2004-04-27 15:44) [13]


> Jack128 работает корректно
очень приятно ;-) , но это был пример на твое замечание по поводу представления даты в определенном формате, к сортировке он не имеет никакого отнашения :-))



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

Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
1-1083942512
Ivolg
2004-05-07 19:08
2004.05.23
Обои


1-1083848935
Talle
2004-05-06 17:08
2004.05.23
Компонент TXMLDocument


7-1082112699
nv_
2004-04-16 14:51
2004.05.23
Как заставить окно показаться?


3-1083237481
Felan
2004-04-29 15:18
2004.05.23
Системные переменные Interbase


3-1083049279
Masa
2004-04-27 11:01
2004.05.23
Как связать TQuery с другим DataSet ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский