SQL查询一批数据,怎么在最后一行增加个合计

 

1.示例

 

 

 

注解:null是rollup产生的汇总项

 

 

2.对yf字段进行处理就可以显示“合计”

 

注解:但是要显示的字段类型必须与yf字段类型一致,若yf是int,就不能显示varchar类型

 

3.显示的字段类型必须要与查询结果字段类型一致

 

示例代码:
select 
     case when yf is not null then yf else '合计' end yf,
     sum(cast(bqbj1 as money)) bjhz,
     sum(cast(bqll1 as money)) lxhz,
     sum(cast(bqwh as money)) whhz
from (select SUBSTRING(rq,6,2) yf,bqbj1,bqll1,bqwh
      from formtable_main_84_dt1 d 
      where rq between '2017-07-01' and '2017-09-30') as a
group by yf
with rollup

 

 

 

 

 

 

 

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 你可以使用以下 SQL 查询来实现每个人员提交的最后一条数据: ``` SELECT person, MAX(submit_time) FROM table_name GROUP BY person ``` 在这个查询中,首先使用 `GROUP BY` 语句对数据按人员分组。然后,使用 `MAX` 函数找到每组的最大值,即每个人员提交的最后一条数据最后,选择每个人员和他们的最后一条提交时间。 ### 回答2: SQL查询每个人员所提交的最后一条数据可以通过使用子查询和MAX函数来实现。 可以使用如下的SQL语句来达到目的: ``` SELECT p.name, s.data FROM person p JOIN ( SELECT person_id, MAX(submit_date) AS max_date FROM submission GROUP BY person_id ) m ON p.id = m.person_id JOIN submission s ON p.id = s.person_id AND s.submit_date = m.max_date ``` 假设数据库中有两个表:`person`(包含人员信息)和`submission`(包含人员提交的数据信息)。在以上查询中,首先使用子查询获取每个人员的最大提交日期,然后与`person`表和`submission`表进连接,获取每个人员最后一条数据的相关信息。最终结果将返回每个人员的姓名和他们提交的最后一条数据的内容。 需要注意的是,以上查询假设`person`表的主键为`id`,`submission`表中与`person`表关联的外键为`person_id`,并且`submission`表中记录人员的提交日期为`submit_date`。根据实际情况,可能需要调整表名和列名。 ### 回答3: SQL查询每个人员提交的最后一条数据可以通过以下步骤进: 首先,创建一个名为"employees"的表,表包含以下字段: - employee_id: 人员ID,唯一标识每个人员 - submit_date: 提交日期,表示数据提交时间的字段 - data: 提交的数据内容 然后,使用以下SQL语句查询每个人员提交的最后一条数据: ``` SELECT e.employee_id, e.submit_date, e.data FROM employees e INNER JOIN ( SELECT employee_id, MAX(submit_date) AS last_submit_date FROM employees GROUP BY employee_id ) subquery ON e.employee_id = subquery.employee_id AND e.submit_date = subquery.last_submit_date; ``` 以上SQL语句的步骤解释如下: 1. 使用子查询得到每个员工ID的最后提交日期,这是通过在"employees"表中使用GROUP BY子句和MAX聚合函数计算得到。 2. 将子查询作为内连接的一部分,将每个人员的ID和最后提交日期与整个"employees"表匹配。 3. 最后,从结果中选择所需的字段,包括员工ID、提交日期和数据内容。 执以上SQL语句后,将返回包含每个人员最后一条提交数据的结果集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值