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

Откуда:
Сообщений: 213
Есть запрос:
SELECT
SUM(Column)
FROM Table
GROUP BY Column2

Если сделать без GROUP BY он выводит общую сумму всех колонок, но есть колонки "задвоенные" и он выводит весь список уникальных полей, а мне нужна общая сумма с учетом уникальности
14 дек 18, 16:58    [21764234]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
sc2r2bey
Member

Откуда:
Сообщений: 213
DISTINCTразобрался
14 дек 18, 17:01    [21764237]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
sc2r2bey
Member

Откуда:
Сообщений: 213
Не помогло
он теряет одну запись (( вопрос открыт
14 дек 18, 17:23    [21764256]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7758
sc2r2bey,

с чего бы группировка что-то теряла?
14 дек 18, 17:35    [21764273]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
londinium
Member

Откуда: Киев
Сообщений: 1169
sc2r2bey,
давайте начнем с начала.
WITH CTE (ID,AMOUNT)
AS
(
  SELECT 1 AS ID, 200 AS AMOUNT
    UNION ALL
  SELECT 1 AS ID,500 AS AMOUNT
   UNION ALL
 SELECT 2 AS ID,100 AS AMOUNT
  UNION ALL
 SELECT 5 AS ID, 700 AS AMOUNT
)

что надо получить и не потерять?
14 дек 18, 17:36    [21764275]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
PizzaPizza
Member

Откуда:
Сообщений: 369
sc2r2bey
Есть запрос:
SELECT
SUM(Column)
FROM Table
GROUP BY Column2

Если сделать без GROUP BY он выводит общую сумму всех колонок, но есть колонки "задвоенные" и он выводит весь список уникальных полей, а мне нужна общая сумма с учетом уникальности


Я вот лично не понял что вы пытаетесь сделать ("задвоенные", "сумму колонок") и есть ощущение, что вы тоже не сформулировали для себя задачу.

Группировка это правило объединения строк/записей. Вы объединяете ваши строки в группы с одинаковым значением Column2. Дальше вопрос того, что вы хотите выбрать из этого объединения. Судя по sum вас интересует сумма значений каких то записей колонки column. Так как у вас указано правило группировки, то вы получаете сумму значений колонки в каждой индивидуальной группе - сумму column для строк у которых column2 одинаковый.
14 дек 18, 20:48    [21764431]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
sc2r2bey
а мне нужна общая сумма с учетом уникальности
Пример данных и что получить надо?
14 дек 18, 22:30    [21764503]     Ответить | Цитировать Сообщить модератору
 Re: Как использовать SUM и GROUP BY?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4727
sc2r2bey,

WITH CTE (ID,AMOUNT)
AS
(
	SELECT 1 AS ID, 200 AS AMOUNT
		UNION ALL
	SELECT 1 AS ID,500 AS AMOUNT
		UNION ALL
	SELECT 2 AS ID,100 AS AMOUNT
		UNION ALL
	SELECT 5 AS ID, 700 AS AMOUNT
),
CTE2 AS
(
	SELECT TOP 1 WITH TIES * 
	FROM CTE 
	ORDER BY ROW_NUMBER() OVER (PARTITION BY ID ORDER BY (SELECT NULL)) -- или PARTITION BY ID, AMOUNT ???
)
SELECT SUM(AMOUNT), ID
FROM CTE2
GROUP BY ID 
17 дек 18, 13:55    [21765912]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить