这句SQL怎么写?(50分)

  • 主题发起人 主题发起人 大傻
  • 开始时间 开始时间

大傻

Unregistered / Unconfirmed
GUEST, unregistred user!
表如下:
单号 箱号 ......
0001 1
0001 1
0001 2
0001 3
0001 3
0002 1
0002 2
0002 2
...
我想返回指定单号的箱子的个数,应返回如下
单号 箱子的个数
00001 3
00002 2
...
请告诉我如何用SQL直接返回
 
select 单号,(select count(*) from 表名 t1 where t1.单号=t2.单号) count from 表名 t2
试试!
 
select 单号,count(*) from tablename
group by 单号
 
select distinct(单号),sum(箱号) as 箱数 from TABLE group by 单号

OK
 
单号 箱子的个数
00001 3 //为什么为3,是箱号最大还是什么
 
楼上大侠请看清题意:
我是想统计每个单号的箱子的个数,比如00001的箱子个为3个
00002的箱子个数为2个
 
select 单号,count(*) as 箱子个数 from tablename group by 单号就可以了!
 
啊,有人写了!不好意思!不用给我分了!

>>bigroute
即然Group by 了,为什么还要Distinct呀?请教了(更快吗?)
 
楼上各位写的SQL你们试过了吗?返回结果如下:
单号 箱数
00001 10
00002 5
这不是我要的结果,count(*)统计了错误信息
 
select 单号,count(*) as 箱子个数
from (select 单号,箱号 from TABLE1 group by 单号,箱号) as table2
group by 单号
 
不会吧,他们都没错的!
你的题意要的就是这个结果!
(你不会是要相同单号,并且箱号相同的总数量吧!)
如果是的话!
select 单号,箱号,count(*) as 箱子个数 from tablename group by 单号,箱号
如果还不是!我就看不懂你的问题了!(你就改名字吧,我要叫大傻了)
 
>>>楼上大侠请看清题意:
>>>我是想统计每个单号的箱子的个数,比如00001的箱子个为3个
>>>00002的箱子个数为2个

根据上面的数据,你能得到这个结果? 我看不懂!!

 
用我写的那个就行了,我在sql server上试过了
 
我把问题换个说法大家可能更清楚些:
query1.sql.add( 'select count(*) as 箱子个数 from tablename group by 单号,箱号')
query1.open
query.RecordCount即是我要的结果,但我想用SQL直接给出,行吗?
 
select 单号,
(select distinct(单号),箱号 from TABLE ) as 箱数 from TABLE
 
windbell的真的可以,呵呵,这么多人只有你懂我的意思,
谢谢啦!
 
同意 大傻的方法。
 
Select Count(*) from (select count(*) as 箱子个数 from tablename group by 单号,箱号) as aa
>>windbell
你上面这句SQL,什么意思,写出来有何意义?(真诚请教)
 
谢谢各位的参与
 
to SanDao:
->Select Count(*) from (select count(*) as 箱子个数 from tablename group by 单号,箱号) as aa
我写的和你这句不一样请仔细看一下。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部