我的窗体上有一个combobox1数据库中有表 字段1 管辖地 字段2 办事地点 还有别的字段就不一一列举了 如下管辖地 办事地点 ……
辽宁 北京办事处
吉林 大连办事处
黑龙江 天津办事处
内蒙古 大连办事处
辽宁 大连办事处
广东 天津办事处
天津 ……
北京
……
我的combobox1是办事地点 办事地点总共3个 北京办事处 、大连办事处、天津办事处; 管辖地也是固定的10多个。我想统计一下 属于这些管辖地的人去这些办事地点的次数 并按次数多少排名通过select 查询在dbgrid里显示出来 显示结果想成为这个样子管辖地 次数 排名(所有的管辖地) (就是人员去 按照次数排名
combobox1里 如果次数相同
选择的办事 则排名相同
地点的次数) 如:1,2,2,4……我想请教一下这个该怎么写sql语句?我写了一下但是都不能实现排名,我是这样写的:
sql:='select 管辖地,count(管辖地) as 数量 from basictab where 上访地点='+quotedstr(edit1.Text)+' group by 管辖地 ';
我只能写成这个样,排名的列不知道怎么写。
辽宁 北京办事处
吉林 大连办事处
黑龙江 天津办事处
内蒙古 大连办事处
辽宁 大连办事处
广东 天津办事处
天津 ……
北京
……
我的combobox1是办事地点 办事地点总共3个 北京办事处 、大连办事处、天津办事处; 管辖地也是固定的10多个。我想统计一下 属于这些管辖地的人去这些办事地点的次数 并按次数多少排名通过select 查询在dbgrid里显示出来 显示结果想成为这个样子管辖地 次数 排名(所有的管辖地) (就是人员去 按照次数排名
combobox1里 如果次数相同
选择的办事 则排名相同
地点的次数) 如:1,2,2,4……我想请教一下这个该怎么写sql语句?我写了一下但是都不能实现排名,我是这样写的:
sql:='select 管辖地,count(管辖地) as 数量 from basictab where 上访地点='+quotedstr(edit1.Text)+' group by 管辖地 ';
我只能写成这个样,排名的列不知道怎么写。
解决方案 »
- cxgrid如何读取文本并同步修改
- 把对话框选定的文件复制指定目录
- HT生日快乐
- 用Delphi7写一个DBF数据库更新检测程序,请给改进意见,
- 建有一QQ群2044725.为Delphi志同道合的朋友提供个交流空间,有兴趣的可以进来交流,此群为永久固定群,还有15个空位
- 快来帮我啊------- 如何填充TDBComboBox的下拉条 ???
- 请教疑难问题
- 请问:你碰到过这样的query控件吗?
- 在form1中create并且show的form2,如何在关闭form1的时候,保持form2不被关闭?
- 如何用系统参数
- 路边社评论员:火红五月传喜讯 老树开花新希望,恭喜bdmh上任Delphi版大版主~~
- 关于指定资源文件里的图标作为程序的图标问题,高手进来一观
通过IDENTITY可以解决,记录SQL SERVER2000要用到临时表,SQL SERVER 2005以上不用。不知道你的是哪个?
procedure TForm1.ADOQuery1sssGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text := IntToStr(ADOQuery1.recno);
end;onGetText事件上加上
设置optionseh->dghShowRecno为True, 直接看到排名了
if sql<>'' then
begin //A
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
if ADOQuery1.Fields[0].Value=null then
begin
for i:=0 to dbgrid1.Columns.Count-1 do
begin
DbGrid1.Fields[i].DisplayWidth:=10 ;
end;
showmessage('对不起,没有您要查的记录');
end
else
begin
ADOQuery1.Fields[0].Alignment:=tacenter;
ADOQuery1.Fields[0].DisplayWidth:=20;
ADOQuery1.Fields[1].Alignment:=tacenter;
ADOQuery1.Fields[1].DisplayWidth:=20;
end;我自己这么写的 按照你说的那个办法 我这里查不出来记录,我想接着这个在dbgrid1里添一列,按着数量的多少,可是怎么才能把写入到dbgrid里的数据读出来呢?又怎么写进去呢?