在线等待!!200分求一查询语句!! ( 积分: 0 )

  • 主题发起人 主题发起人 Dong_HC
  • 开始时间 开始时间
D

Dong_HC

Unregistered / Unconfirmed
GUEST, unregistred user!
问题解决后另开帖送分!

数据库 ACCESS

表 aa

编号 号码
1 1
1 2
1 3
1 4
1 6
2 2
2 3
2 4
2 5
3 4

查询结果:

编号 起始号 数量
1 1 4
1 6 1
2 2 4
3 4 1


把号码连续的数据放在一起,其他的分开放!急,,谢谢了!!
 
没人会吗??

我想了很长时间了!!谢谢各位高手
 
怎么没人回答?怕我不给分吗?

放心,诚信为本!言出必行!
 
本人觉得这个题也不是很难啊
我不知道有什么巧方法 不过用蛮办法是可以做出来的
就用FOR循环咯 然后得到第二字段的值进行比较就行了撒
 
我用的是DBGRID控件,,循环出来怎么显示啊??

不太想用STRINGGRID……控件
 
帮帮忙啊,急死了!
 
这个貌似比较难,如果数据库支持存储过程的话,可以考虑使用存储过程返回查询结果。
 
他用的ACCESS数据库
 
一条语句很难实现(也许有人有巧妙的方法啊)
借助delphi的语法能力先把数据整理出来放到一个结构数组里
再用内存表将数据回写进去后再用dbgrid显示
 
我来了,继续请教!!

高手请帮忙!!谢谢
 
ACCESS没用很久了,不晓得他是否支持游标,若是SQL 2K的话可以用游标实现
 
好像是没有!

急啊,,怎么办呢??
 
如果不用stringgrid,那就建个临时表嘛。
ACCESS中,一个查询语句应该是没办法的。
 
你是想按编号分组统计数量?但是号码是按从小到大排列的,连续的算一组,不连续另算一组是吧?这里面要对号码是否连续进行判断,使用单一的查询语句恐怕无法实现吧?
 
建议增加标识字段,首先使用程序将不连续的记录标识出来,再按标识分组统计.[:)]
 
to fancy105

我想过这个做法!

不过我还是不能用一条语句查询出需要的结果!

比如

编号 号码 标示
1 1 1
1 2 1
1 3 1
1 4 1
1 6 2
2 2 3
2 3 3
2 4 3
2 5 3
3 4 4

怎么查询?
 
继续等待!快来人啊

[?][?][?]
 
我想到办法了,首先SELECT * FROM TABLE ORDER BY 编号,号码 DESC----注意是倒序
加一自增列ID
如果是顺序的 号码+id的值应该是相等的,
根据这点分组
select 号码+id,min(号码),sum(号码) as 数量
from table2
group by 号码+id
楼主这招行得通吧
 
注意一点,自增列的起始要根据号码的值来定,尽量大一点,避免不同顺序的号码+ID得出相同值
 

Similar threads

D
回复
0
查看
844
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部