SQL 语句取合计数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 语句取合计数相关的知识,希望对你有一定的参考价值。

一个表里有两个字段,其中有一个字段的内容有重复的
比如:
客户1 职员1
客户2 职员1
客户3 职员2
客户1 职员2
客户2 职员1
现在我想输出这样的结果:
客户 职员1 职员2 合计
客户1 1 1 2
客户2 2 0 2
客户3 0 1 1
3个 3 2 5
最后一行第一列取客户总数,剩下三列取上面几行数的数字之和,该怎么写sql语句呢?
3个 3 2 5
最后一行第一列取客户总数,剩下三列取上面几行数的数字之和.例如3=1(第一行)+2(第二行)

你第一个表,两个字段不都重复了吗,
主键是什么

估计一下你的表:
pKey 客户 职员
1 .. ..
2 .. ..
3 .. ..

用 UNION 来做。

select A.客户, count(A.职员)as 职员1,count(B.职员)as 职员2,count(A.职员)+count(B.职员)as 合计
from 表名 A,表名(同一个表) B
where A.职员=职员1 and B.职员=职员2
group by 客户
UNION
select count(客户),sum(职员1),sum(职员2),sum(合计)
from 表名 group by 客户

UNION 作用是 把最后一行接表上。
参考技术A SELECT * FROM tablename GROUP BY customer 参考技术B 通过编程手段来实现吧
先将查询数据放入datatable,然后再循环datatable取合计
参考技术C 写得不太清楚,本来看懂了的,后面又不知道是什么意思 参考技术D 楼主的要求
select
名称,材质,sum(数量)
from

group
by
名称,材质
SQL
的数值计算函数
sum()
汇总
AVG()
取平均数
MAD()
找最大数
MIN()
找最小数
count()
统计个数

SQL语句取最后100条数据

在查询分析器里用SQL语句取一个表里的最后100条数据,请帮帮忙,谢谢!

select top 100 * from 表名 order by 列名 desc (升序asc 降序desc)

你表肯定是根据哪列排序的吧,你要最后100个就根据情况用“升序”还是“降序”排列吧
select是查询的意思
top是指上面的
select top 100意思就是查询前100
order by 列名 desc 意思就是根据列名行降序排列

大概就这样吧 你自己理解下 希望有帮助
参考技术A 首先要确认表的排序是要据那一列

select *
from (select *,row_number()over(order by ID desc) as row from table)t
where row<=100
参考技术B select top 100 * from table order by id desc

正解……
参考技术C select top 100 * from table order by id desc 参考技术D select top 100 * from table order by id desc

以上是关于SQL 语句取合计数的主要内容,如果未能解决你的问题,请参考以下文章