集团通过SQL为
问题描述:
列
我有一个查询,订单由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
我想组让每个交货名称具有行的总数,但没有运气。任何帮助都会很棒。
答
分组的行的你是选择所有列,包括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
答
您可以通过获得这种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
一些样品表数据和预期的结果,都会更清晰! – jarlh
请参阅[W3Schools SQL Group by](http://www.w3schools.com/sql/sql_groupby.asp)以获取更多详细信息 – Spidey