社区
MS-SQL Server
帖子详情
请问这个GROUP BY语句应该怎么写?
yongtang
2005-08-25 01:55:15
我有一个表,有十个字段,我现在从中取出需要显示的6个字段,并且按照这6个字段中一个字段分类、另一个字段排序。
我写的SELECT语句是
SELECT A,B,C,D,E,F FROM TABLE GROUP BY A ORDER BY C
但是运行后就报错,说试图执行的查询中不包含作为合计函数一部分的特定表达式,请问我这个SELECT语句应该怎么写?
谢谢!
...全文
891
22
打赏
收藏
请问这个GROUP BY语句应该怎么写?
我有一个表,有十个字段,我现在从中取出需要显示的6个字段,并且按照这6个字段中一个字段分类、另一个字段排序。 我写的SELECT语句是 SELECT A,B,C,D,E,F FROM TABLE GROUP BY A ORDER BY C 但是运行后就报错,说试图执行的查询中不包含作为合计函数一部分的特定表达式,请问我这个SELECT语句应该怎么写? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yongtang
2005-08-25
打赏
举报
回复
明白了,谢谢大家,结贴收工!
gimy007
2005-08-25
打赏
举报
回复
按楼主给的数据,这不应该用分组的;
如果楼主想统计按A分类,其他各个字段的信息如:b,c,d,e.f的最大值、数量等这才用到分组。
gimy007
2005-08-25
打赏
举报
回复
select * from yourtable order by A
mysummer2003
2005-08-25
打赏
举报
回复
select A,B,C,D,E,F from table order by a
winterice
2005-08-25
打赏
举报
回复
Up
yongtang
2005-08-25
打赏
举报
回复
假设现在的表是
A B C D E F
2 $ 7 ^ * (
5 ^ 2 & ) a
4 K 4 * ( b
2 * 1 & ( B
5 @ 1 & & (
2 ^ 4 * N B
现在我想得到的输出是
A B C D E F
2 $ 7 ^ * (
2 ^ 4 * N B
2 * 1 & ( B
4 K 4 * ( b
5 ^ 2 & ) a
5 @ 1 & & (
还望各位前辈能够指点,谢谢!
zhangyang555
2005-08-25
打赏
举报
回复
TO 回复人: yongtang(Reloaded) ( ) 信誉:100 2005-08-25 14:56:00 得分: 0
但是我同时要显示B、C、D、E、F几个字段的值呢,而不是它们的统计值呢?
既然是分组,原字段A的值肯定有重复,而后边几个字段的值肯定是每个记录都不同,给个简单的例子吧:
原数据:
A B C D E F
1 ! @ # ~ %
1 ^ ! # $ !
2 % $ # @ @
3 % * % # @
你说有两条记录字段A的值都是1 ,如果你要显示 B,C,D,E,F的值,你说是显示第一条的,还是第二条的?
如果要使用group by 而不显示统计值肯定是不现实的,如果把后几个字段也加到group by 后边那样查询的结果肯定不是楼主想要的,就我上边的数据,如果那样分组的话,结果肯定是有问题的
要看楼主对后几个字段的值有什么要求才能给出具体的操作,不一定要使用group by
yongtang
2005-08-25
打赏
举报
回复
查询结果中包含的非分组字段必须使用聚合函数
//这样使用了聚合函数后就得不到我需要的原始数据了,不都是count()或者max()这样的统计结果吗?
bflovesnow
2005-08-25
打赏
举报
回复
hehe.
zy888
2005-08-25
打赏
举报
回复
查询结果中包含的非分组字段必须使用聚合函数
yongtang
2005-08-25
打赏
举报
回复
就是希望ABCDEF这6个字段的值都能显示出来,就像select a,b,c,d,e,f from table的效果
然后在这些结果中,首先按照a来分组,比如"type1"的归在一起显示,"type2"的归在一起显示
然后在分组后的每一组中,再根据c字段里面的数值大小进行降序排序
splory
2005-08-25
打赏
举报
回复
你需要把select后的所有选项都要放在group by就不会有错了
vivianfdlpw
2005-08-25
打赏
举报
回复
你分组的目的是什么?
yongtang
2005-08-25
打赏
举报
回复
但是我同时要显示B、C、D、E、F几个字段的值呢,而不是它们的统计值呢?
bugchen888
2005-08-25
打赏
举报
回复
select子句当中的栏位只能是group by栏位的子集。
wwwhch2004
2005-08-25
打赏
举报
回复
有Group By 后,对其他的字段需要聚合。
wgsasd311
2005-08-25
打赏
举报
回复
我写的SELECT语句是
SELECT A,B,C,D,E,F FROM TABLE GROUP BY A ORDER BY C
-------B,C,D,E,F不会分组字段,必须用聚合函数。
jzdmyjzd
2005-08-25
打赏
举报
回复
SELECT A,
Max(B) As B,
Max(C) As C,
Max(D) As D,
Max(E) As E,
Max(F) As F
FROM 表
GROUP BY A
ORDER BY C
WangZWang
2005-08-25
打赏
举报
回复
SELECT A,B,C,D,E,F FROM TABLE
ORDER BY C
--如果你要对A分组,则其他字段要使用聚合函数
filebat
2005-08-25
打赏
举报
回复
vivianfdlpw你的动作真是太快了!!
凡是我能见到的帖子,都被你回了。
小声问一下,你什么时候休息,不上CSDN?
预先通知一声,这样我好来抢分。
嘻嘻。
加载更多回复(2)
GROUP
BY
语句
详解
group
by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在
group
by 后面。 比如,有:{学号,姓名,性别,年龄,成绩}字段 这样
写
: SELECT 学号,姓名,性别,年龄,sum(成绩) FROM 学生...
SQL中
GROUP
BY
语句
介绍
GROUP
BY
语句
通常用于配合聚合函数(如 COUNT()、MAX() 等),根据一个或多个列对结果集进行分组。 从字面上来理解,
GROUP
表示分组、BY 后接字段名,表示根据某个字段进行分组。 一般情况下,
GROUP
BY 必须要...
MySQL
GROUP
BY
语句
使用总结
总结一下MySQL中查询记录操作中的
GROUP
BY
语句
,查遗补漏。 表名:testusers,字段记录如图,以前create的直接拿来用,将就一下。(懒即生产力) 命令行工具:cmder 一)作用:
GROUP
BY
语句
根据一个或多个列...
SQL
语句
之分组查询--
GROUP
BY(
group
by)
sql
语句
select之分组查询(
group
by) 分组查询 语法: select 分组函数,列(要求出现在
group
by的后面) from 表 where 筛选条件
group
by 分组的列表 order by 子句 注意:查询列表比较特殊,要求是分组函数和...
查询
语句
group
by 分组
group
by 关键字可以根据一个或多个字段对查询结果进行分组
group
by 一般都会结合Mysql聚合函数来使用 如果需要指定条件来过滤分组后的结果集,需要结合 having 关键字;**原因:**where不能与聚合函数联合使用 ...
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章