当前位置:首页 » 编程语言 » sqltopgroupby
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqltopgroupby

发布时间: 2022-02-13 14:11:00

sql group by 问题

GROUP BY 子句
将记录与指定字段中的相等值组合成单一记录。如果使 SQL 合计函数,例如 Sum或Count,蕴含于 SELECT 语句中,会创建一个各记录的总计值。

语法
SELECT 字段表
FROM 表
WHERE标准
[GROUP BY 分组字段表]

包含 GROUP BY 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名, SQL 合计函数, 选择断定 (ALL, DISTINCT, DISTINCTROW, 或 TOP),或其他 SELECT 语句 选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
criteria 选择准则。如果此语句包含一个 WHERE 子句, Microsoft Jet 数据库引擎 会在记录上应用WHERE条件,然后把值分组。
groupfieldlist 用来对记录分组的字段名,最多有 10 个字段。在 groupfieldlist 中字段名的顺序将决定组层次,由最高至最低的层次来分组。

说明
GROUP BY 是可选的。

如果在 SELECT 语句中没有 SQL 合计函数,则可省略总计值。

Null值在 GROUP BY字段中,则会被分组而不被省略。但是在任何 SQL 合计函数中不计算 Null 值。

使用 WHERE 子句可以排除您不想分组的行,而将记录分组后,用 HAVING 子句过滤这些记录。

除非包含备注数据或 OLE 对象数据,否则, GROUP BY 字段列表中的字段可引用 FROM 子句中的任何表的任何字段,即使 SELECT 语句不包含此字段,只要它至少包含一个 SQL 合计函数即可。Microsoft® Jet 数据库引擎无法在“备注对象”或“OLE 对象”字段上进行分组。

SELECT 字段列表中的全部字段必须包含在 GROUP BY 子句中,或在 SQL 合计函数中作为参数。

⑵ SQL问题 group by 和 top

...where hidden=1 order by brand asc, id desc

⑶ SQL语句中是否用过Sum,Count,Top,Group By,Having,Case...When这些关键字,请描述具体用法大家回答下谢谢

sum 汇总某数值型字段
count 计算个数,字段类型任意,甚至可以是*
Top 去前多少条记录 如select top 10 * from table 取前10条记录
group by 分组,如数据中存在重复字段,比如超市结算表有很多相同产品,要汇总总计:
select sum(金额) ,商品 from sales group by 商品
Having 判断聚合函数结果用,如 sum(金额) ,商品 from sales group by 商品 having sum(金额) > 100000
case when 输出结果按条件显示
如 select case id when 1 then '男' when 2 then '女' else ‘未知' end from gender

⑷ sql group by用法

1. select top 1 姓名,sum(分数) as 分数总和 from 表名 group by 姓名
order by 分数总和 desc

2. select 姓名 from 表名 group by 姓名 having min(分数)>90

测试通过

⑸ sql问题,group by

select pod_part,max(po_ord_date)as ord_date ,Po_vend from pod_det left join po_mstr on po_nbr=pod_nbr
where pod_part like '8%'
group by pod_part,Po_vend

使用left join 和right join 试试

⑹ SQL:group by 、分组、汇总。。。。。。。。。。

首先明确 你求的是什么 ? 是sum(ApprVchrMoney)对吧1
那么我们查询 select sum(ApprVchrMoney) from 表
因为有分组,所以表呢需要分组,创建新表,

SELECT 字段 from 表 group by a.GathBankAcct--->这样就分组了 得到了第一个新表(比如新表的名称叫 table1),
由于还有分组一次
select sum(ApprVchrMoney), from table1 group by table1.LeiCode,KuanCode,XiangCode
----只要你的思路 清楚,就简单多了

⑺ sqlserver 用group by 后取top

select top 6 (需要的数据列名) from (表名) where (查询结果需要满足的条件) group by (以什么分组) : 取top 6 前6条

⑻ SQL语句中是否用过Sum,Count,Top,Group By,Having,Case...When这些关键字,请描述具体用法

用过,其中Sum和Count是聚合函数,Sum的作用是计算一组数的和,Count是计算总共的行数,Count(*)返回行数,包括含有空值的行,不能和Distinct一起使用
Top n[PERCENT]仅返回N行
例如:select top 6 * from student
的意思就是返回学生表的前6行信息
使用Group by分组汇总查询结果
其他的我也不是很熟,不好意思

⑼ sql句子中group by的问题

呵呵,通常这个问题都可以用子查询完成,这样可以:
select id,time,username from (
select top 20 max(time) as time,username from job group by username order by max(time) desc) as t1,job
where job.id=t1.id