2016-05-31 2 views
1

У меня есть запрос, что заказы на DeliveryNameГруппировка в SQL для столбца

SELECT ID, CreatedAt, Identifier, Name, DeliveryName, RoundedPriceSum 
FROM StarOrder 
WHERE 
    SiteID = 1 AND --StarSite.ID 1= SE, 2 = NO 
    ShippingTypeID = 4 -- StarShippingType.ID 4 = STORE_PICKUP SE, 10 = STORE_PICKUP NO 
    and CreatedAt between '2015/01/11' and '2016/05/30' 
Order BY DeliveryName DESC 

Я пытаюсь группы так, что каждое имя Delivery имеет общее количество строк, но не имеющий никакой удачи. Любая помощь будет большой.

+0

Некоторые примеры данных таблицы и ожидаемого результата, и все будет намного яснее! – jarlh

+1

Обратитесь к [W3Schools SQL Group by] (http://www.w3schools.com/sql/sql_groupby.asp) для получения дополнительной информации. – Spidey

ответ

2

Вы выбираете все столбцы, включая ID (имеющие наименьшую степень детализации или подробные данные), то, как вы можете получить сгруппированных данных. Также вы не используете предложение group by. Для этого вам нужно выбрать столбец группировки и сводные данные, такие как sum() или avg() count().

SELECT DeliveryName, count(*) 
FROM StarOrder 
WHERE SiteID = 1 
AND ShippingTypeID = 4 
and CreatedAt between '2015/01/11' and '2016/05/30' 
group by DeliveryName 
Order BY DeliveryName DESC 

Например, если вы хотите, чтобы студенты группы по классу вы выберите класс и номер студента. Но если вы выбрали класс и имя студента, то вы получите строку для каждого ученика.

+0

OP не хочет суммы RoundedPriceSum, _ "пытается сгруппировать так что каждое Имя поставки имеет общее количество строк "_ – Spidey

+0

Отредактированное решение ...... – RanchiRhino

0

Вы можете получить количество строк, сгруппированных по DeliveryNAme таким образом

SELECT DeliveryName, count(*) 
FROM StarOrder 
WHERE SiteID = 1 
AND ShippingTypeID = 4 
and CreatedAt between '2015/01/11' and '2016/05/30' 
group by DeliveryName  
Order BY DeliveryName DESC 
+0

Я получаю эту ошибку. Msg 156, уровень 15, состояние 1, строка 7 Неверный синтаксис рядом с ключевым словом «группа». – Deano

+0

У меня есть ответ (неправильный порядок по положению) – scaisEdge

+0

Это нормально, я исправил его. Спасибо за ответ! Просто нужно немного подправить – Deano

Смежные вопросы