select zzh as zzzh , count(a.zzzh) as zzh1, count(b.zzzh) as zzh2 from 表名称 a, 表名称 b group by a.zzzh,b.zzzh having a.zzzh like "All%" or a.zzzh like "Bll%" or a.zzzh <> b.zzzh ;没测试,不知行不行,呵呵。
调试欢乐多
substr(a.zzzh,1,3),
count(*)
from
(select distinct zzzh from 表名) a --这里是将相同值去掉后的数据集合作为表.
--如果不要则把distinct 去掉
group by
substr(a.zzzh,1,3)
count(substr(zzzh,4,6)) zzh1,
count(distinct substr(zzzh,4,6)) zzh2
from tbl group by substr(zzzh,1,3)
count(substr(zzzh,4,3)) zzh1,
count(distinct substr(zzzh,4,3)) zzh2
from tbl group by substr(zzzh,1,3)
一楼的理解错了我的意思。我只有一个表;
dinya2003(OK)兄,你写的语句只能反映出去掉重复值的各,即:
zzh count(*)
A11 3
B11 3
我写的是:
select substr(t1.zzzh,1,3),count(t1.zzzh) zzh1,count(t2.zzzh2) zzh2 from
zzzh t1,(select distinct zzzh as zzzh2 from zzzh) t2
group by substr(t1.zzzh,1,3);(请问这条语句有什么错误吗?但不能达到我的效果)
我把它创建了两表再查询可以成功,但太麻烦了点。
请问创建临时表的语法怎样写?
zzzh zzzh,
sum(count1) zzh1,
sum(count2) zzh2
from
----*************下面是两个不同条件的联合*******************----
(
select --这里是不重复的情况
substr(a.zzzh,1,3) zzzh,
0 count1,
count(*) count2
from
(select distinct zzzh from 表名) a
group by
substr(a.zzzh,1,3)unionselect --这里是重复的情况
substr(b.zzzh,1,3) zzzh,
count(*) count1,
0 count2
from
表名 b
group by
substr(b.zzzh,1,3)
)
--*********************上面是将两个不同条件的联合*****************-----
group by
zzzh --按联合后的的列分组计算总和实现方法要根据你的需求,有的时候可以有多种方法,但是可以选择一种最好的,插入两个表执行也可以,但是要建表,执行插入和提交动作,总会慢一点.也比较麻烦/
我参照welyngj(平平淡淡)的方法已解决了。
具休方法语句是:
select substr(zzzh,1,3) zzh,
count(zzzh) zzh1,
count(distinct zzzh) zzh2
from tbl group by substr(zzzh,1,3);
我想查询一个序列列(1,2,3)中不存在的序号。
如:
1,3,4,5,6,8,9,10,11
我要查找2,7等。