GROUP BY 是怎么用的请教
GROUP BY 是怎么用的请教
能给我举个列子吗
select * from moblie GROUP BY mclass_1
出现
服务器: 消息 8120,级别 16,状态 1,行 1
列 'moblie.id' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
问题点数:0、回复次数:6Top
1 楼weixiao51(4fen)回复于 2003-04-04 16:51:02 得分 0
select mclass_1 from moblie GROUP BY mclass_1
Top
2 楼CrazyFor(冬眠的鼹鼠)回复于 2003-04-04 16:55:19 得分 0
使用 GROUP BY 分组多行
GROUP BY 子句用来为结果集中的每一行产生聚合值。如果聚合函数没有使用 GROUP BY 子句,则只为 SELECT 语句报告一个聚合值。
以下示例返回分类 2 中每种产品已销售的单位数量:
USE Northwind
SELECT OrdD.ProductID AS ProdID,
SUM(OrdD.Quantity) AS AmountSold
FROM [Order Details] AS OrdD JOIN Products as Prd
ON OrdD.ProductID = Prd.ProductID
AND Prd.CategoryID = 2
GROUP BY OrdD.ProductID
下面是结果集:
ProdID AmountSold
----------- -----------
3 328
4 453
5 298
6 301
8 372
15 122
44 601
61 603
63 445
65 745
66 239
77 791
(12 row(s) affected)
Top
3 楼jemen(青蛙)回复于 2003-04-04 17:00:17 得分 0
那我要按mclass_1里面的类别全部显示呢,应该怎么写呢Top
4 楼jemen(青蛙)回复于 2003-04-04 17:07:43 得分 0
mobile表里面的全部数据,按mclass_1列里面的类别分类显示Top
5 楼shengyh(阿辉)回复于 2003-04-04 18:12:26 得分 0
select mclass_1,sum(其余字段1),max(其余字段2)…… from moblie GROUP BY mclass_1
注:只要是聚合函数就可以!!!
Top
6 楼pengdali()回复于 2003-04-04 23:54:42 得分 0
例如:
表1
列1 列2
----------
1 34
1 45
2 56
2 10
你用group by 对列1分组 你想得到:
列1 列2
----------
1 ?? <<======这里是写34呢,还是45?? 你都不知道,电脑能知道吗?能懂你的意思吗?
2 ?? <<======你都没告诉sql你是想求和,还是求最大,最小?
所以你明确告诉sql你想做什么!如:
select 列1,max(列2) 最大,min(列2) 最小,sum(列2) 和,avg(列2) 平均 group by 列1Top




