經典查詢!!!

SunnyBasic 2002-10-12 09:56:34
我要使查詢出來的結果在dbgrid上顯示,關在edit上顯示所查詢出來的記錄個數.
如我要在employee表中查出(性別)employee_sex等於"女"的職員及人數.
結果應是
employee_id employee_name employee_sex
g047 王紅艷 女
g050 許龍英 女
g052 麥群英 女
g089 王偉 女
s078 皺利軍 女

edit1.text=5

請問怎麼實現.

select employee_id,employee_name,employee_sex
from employee
where employee_sex='女'
這樣可以查出以上記錄,可怎麼統計人數,而且怎麼把統計出來的人數放到edit中.
...全文
32 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobit 2002-10-12
  • 打赏
  • 举报
回复
你用 pandarus(莫愁前途無知己,天下誰人不識君) 的方法查询,后再统计
Query中的纪录数不就得了,其实 armu80830() 并不是没看懂你的题,而是你没领会他的意图

edit.text:= IntToStr(query.RecordCount);
pandarus 2002-10-12
  • 打赏
  • 举报
回复
這樣也行
select Count(employee_sex) as RecCoun
from employee
where employee_sex='女'
SunnyBasic 2002-10-12
  • 打赏
  • 举报
回复
CoolSlob():可你沒有統計出人數來呀.
SunnyBasic 2002-10-12
  • 打赏
  • 举报
回复
xiaoyan21(明月心):你真的沒看清題,你看一看 pandarus(莫愁前途無知己,天下誰人不識君) 的回答吧.他的對了.
armu80830() :你也沒看懂題.
pandarus(莫愁前途無知己,天下誰人不識君) :謝謝你.不過你的結果怎麼放到edit中去呢?

日总是我哥 2002-10-12
  • 打赏
  • 举报
回复
用笨一点的方法吧,何必那么经典呢?

再用一条语句
select Count(*) as RecCount
from employee
where employee_sex='女'




================================================================
     ◆◆◆ CSDN查询助手,查询方便快捷 ◆◆◆

下载地址:
 http://CoolSlob.ifood1.com/Download/CSDNFinder.exe
 http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]
pandarus 2002-10-12
  • 打赏
  • 举报
回复
在sql中用以下的吧.
select employee_id,employee_name,employee_sex
from employee
where employee_sex='女'
order by employee_id
compute count(employee_sex)
armu80830 2002-10-12
  • 打赏
  • 举报
回复
edit1.text:=inttostr(query.RecordCount);
xiaoyan21 2002-10-12
  • 打赏
  • 举报
回复
procedure TForm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
edit1.text=inttostr(DataSource1.DataSet.RecordCount);
end;

就是在DataSource1的Change事件中,写这句话就行了。
SunnyBasic 2002-10-12
  • 打赏
  • 举报
回复
to twkwang():請直接回答問題就行了.
to:xiaoyan21(明月心) ,你完全偏題了,
to: CoolSlob() ,沒有統計到.
SunnyBasic 2002-10-12
  • 打赏
  • 举报
回复
老大,執行你的之後為:
reccount employee_id employee_name employee_sex
1 G047 王紅艷 女
1 G050 許龍英 女
1 G052 麥群英 女
1 G089 王偉 女
1 S078 鄒利軍 女

你這個語句和我的下面的一樣,還是沒有統計到
select employee_id,employee_name,count(employee_sex)"employee_sex"
from employee
where employee_sex='女'
group by employee_id,employee_name
xiaoyan21 2002-10-12
  • 打赏
  • 举报
回复
相信你这种查询一定不存在什么难题,
写个简单的SQL语句一定会的是不是。

至于统计记录数可以这样写:
procedure TForm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
Label10.caption:='当前记录:'+inttostr(frmDM.DataSourcePersonAdd.DataSet.RecNo);
Label11.caption:='记录总数:'+inttostr(frmDM.DataSourcePersonAdd.DataSet.RecordCount);
end;

twkwang 2002-10-12
  • 打赏
  • 举报
回复
对用count(*),sum等,最好还是看看SQL书吧,你对SQL也太不了解了
日总是我哥 2002-10-12
  • 打赏
  • 举报
回复
select Count(*) as RecCount,employee_id,employee_name,employee_sex
from employee
where employee_sex='女'
Group By employee_id,employee_name,employee_sex

这时,每条记录的RecCount值都为5,你只要把该字段的值给Edit1就是了~

================================================================
     ◆◆◆ CSDN查询助手,查询方便快捷 ◆◆◆

下载地址:
 http://CoolSlob.ifood1.com/Download/CSDNFinder.exe
 http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧