有一数据表:大致内容如下:姓名 取货
王二 100
李四 50
王二 30
王五 20现在想得到如下表姓名 取货物次数 取货物数量
王二 2 130
李四 1 50
王五 1 20
请教一下用sql语句怎么得到这样子的表呢?或是用什么别的方法能做到呢?
王二 100
李四 50
王二 30
王五 20现在想得到如下表姓名 取货物次数 取货物数量
王二 2 130
李四 1 50
王五 1 20
请教一下用sql语句怎么得到这样子的表呢?或是用什么别的方法能做到呢?
解决方案 »
- 请教,新出的rad studio xe2有教程卖吗?
- 如何实现treeview中数据的快速查询
- 关于日期格式转换问题
- 怎么写一个类似于ADODB的VCL组件
- 如何一机二用??高分相送!!
- 有没有广州或出过国的朋友,想请问一下有关签证事宜
- 谁能说说从一个ListView拖动文件到另一个ListView中
- 如何提高数据库查询速度
- 高手请进!文本文件数据库表的问题??????
- delphi6 手册组重新开张,散分庆祝!!! http://www25.brinkster.com/chinadelphifan/
- juliens(星星球),form(form)进来领分
- 怎么用键盘来控制音量的大小,要怎么实现。(急~~~~~大家帮帮忙!!)
1、Query1的SQL属性:select distinct 姓名 from table1
2、Query2的SQL属性:select count(取货) from table1 where 姓名=:pname
3、Query3的SQL属性:select sum(取货) from table1 where 姓名=:pname
4、Table1连着表2(姓名、取货物次数、取货物数量)
5、在某个事件中加入代码:
Query1.close;
Query1.open;
while not (Query1.eof) do
begin
Query2.close;
Query2.paramers[0].value:= Query1.fields[0].valus;
Query2.open;
Query3.close;
Query3.paramers[0].value:= Query1.fields[0].valus;
Query3.open;
Table1.insert;
Table1.fieldByName('姓名').value:=Query1.fields[0].valus;
Table1.fieldByName('取货物次数').value:=Query1.fields[0].valus;
Table1.fieldByName('取货物数量').value:=Query1.fields[0].valus;
Table1.post;
end;
//声明:以上代码未经测试,我在网吧上网(没有Delphi),给出的是我的思路。我自己做时是这样实现的。更好的办法去写个存储过程吧。
不过要加Group by
select PersonName,Count(*),sum(HuoCount) from temp_tab Group by PersonName
可以啦!
select 姓名,count(姓名) as 取货物次数,sum(取货) as 取货物数量 from 数据表 GROUP BY 姓名
这个答案经典。搞定楼主的问题了。 andy1126(温柔的刀) 基本功深厚,小弟佩服.