Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
Есть таблицы с полями date(datetime) и size(int)
Нужно сформировать запрос чтобы видеть общий size за каждоу число
---
Date Size
01.12.05 27634
03.12.05 73264
и т.д
21 дек 05, 09:33    [2192761]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
vooo
Member

Откуда:
Сообщений: 1316
Хотя бы показали фрагмент данных в таблице
21 дек 05, 09:35    [2192766]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Berg
Member

Откуда: Кр-ск
Сообщений: 3480
SELECT Date, SUM([Size]) AS Total
FROM Table
GROUP BY Date

?

На всякий случай
21 дек 05, 09:39    [2192775]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
SELECT Date, SUM([Size]) AS Total
FROM Table
GROUP BY Date

Я так делаю а запрос выдает мне групировку вместе со временем
Как время убрать и оставить одну дату
21 дек 05, 09:52    [2192823]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Alexandr Emel'yanov
Как время убрать и оставить одну дату

https://www.sql.ru/faq/faq_topic.aspx?fid=110
21 дек 05, 09:53    [2192833]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
Гавриленко Сергей Алексеевич
Alexandr Emel'yanov
Как время убрать и оставить одну дату

https://www.sql.ru/faq/faq_topic.aspx?fid=110


Я так делаю время он на самом деле убирает а во GROUP BY перестает работать
21 дек 05, 10:16    [2192959]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Alexandr Emel'yanov
Гавриленко Сергей Алексеевич
Alexandr Emel'yanov
Как время убрать и оставить одну дату

https://www.sql.ru/faq/faq_topic.aspx?fid=110


Я так делаю время он на самом деле убирает а во GROUP BY перестает работать

Показывайте запрос, который не работает. С текстом ошибки, соответственно.
21 дек 05, 10:29    [2193036]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
А в GROUP BY время убираете?
21 дек 05, 10:31    [2193053]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
Гавриленко Сергей Алексеевич

Показывайте запрос, который не работает. С текстом ошибки, соответственно.


SELECT  CONVERT (varchar(10),[date],110),SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY [squid].[date]
ORDER BY [date]
Ошибки он не выдает но группирует как будто есть время
21 дек 05, 10:38    [2193075]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
Alexandr Emel'yanov
Гавриленко Сергей Алексеевич

Показывайте запрос, который не работает. С текстом ошибки, соответственно.


SELECT  
CONVERT (varchar(10),[date],110),
SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY [squid].[date]
ORDER BY [date]
Ошибки он не выдает но группирует как будто есть время

Уж тогда вот так попробуй:
SELECT  
CONVERT (varchar(10),[date],110),
SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY [date]
21 дек 05, 10:41    [2193084]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
TMN
Member

Откуда:
Сообщений: 115
А вот так?
SELECT  CONVERT (varchar(10),[date],110),SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY [date]
21 дек 05, 10:41    [2193086]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
TMN
А вот так?
SELECT  CONVERT (varchar(10),[date],110),SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY [date]


Server: Msg 8127, Level 16, State 1, Line 1
Column name 'squid.date' is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.
21 дек 05, 10:48    [2193128]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Alexandr Emel'yanov
Member

Откуда:
Сообщений: 46
Заработало!!!!!

SELECT  CONVERT (varchar(10),[date],110),SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY CONVERT (varchar(10),[date],110)

Вопрос снимается.
21 дек 05, 10:52    [2193146]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
Alexandr Emel'yanov
Заработало!!!!!

SELECT  
CONVERT (varchar(10),[date],110),
       SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY CONVERT (varchar(10),[date],110)

Вопрос снимается.
Ну ты даешь!!! А кто тебе мешает дать новой колонке псевдоним и в сортировке обращать к нему по псевдониму???
Вот так, примерно:
SELECT  
CONVERT (varchar(10),[date],110) AS MY_DATE, /* Присвоили алиас этой ботве*/
       SUM([size])
FROM [squid]
WHERE (([squid].[date]>'12-01-2005')AND([squid].[date]<'12-20-2005'))
GROUP BY CONVERT (varchar(10),[date],110)
ORDER BY MY_DATE /* Обратились в сортировке к колонке по её алиасу*/
З.Ы.
Предостережение: В группировке (во вразе GROUP BY) обращаться к вычисленному значению по алиасу НЕЛЬЗЯ :-)
21 дек 05, 11:34    [2193444]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить