表1 a
表2 b
a表字段 aid aname
1 世隔
2 隔工
3 世工
b表字段 bid aid bname
1 2 工作
2 2 工成
3 4 好莱坞现在我要统计a表字段aid和b表字段aid是否有关联值select count(*) from a left join b on a.aid=aid
统计数是四条
select count(*) from a,b where a.aid=aid
这个是两条而我想要的结果是1条记录,因为b表aid的值2是重复,在重复情况下我只视为一条
表2 b
a表字段 aid aname
1 世隔
2 隔工
3 世工
b表字段 bid aid bname
1 2 工作
2 2 工成
3 4 好莱坞现在我要统计a表字段aid和b表字段aid是否有关联值select count(*) from a left join b on a.aid=aid
统计数是四条
select count(*) from a,b where a.aid=aid
这个是两条而我想要的结果是1条记录,因为b表aid的值2是重复,在重复情况下我只视为一条
看能用不?
否则就用:
select count(distinct a.aid) from a inner join b on a.aid=b.aid where 1 group by a.aid having count(a.aid) > 1
或者:
select count(distinct a.aid) from a inner join b on a.aid=b.aid where 1 group by a.aid
如果都不是,楼主说说需求吧,我不猜测了。
还不正确? 我晕 你试没有
FROM a, b
WHERE a.aid = b.aid
FROM a
LEFT JOIN b ON a.aid = b.aid
WHERE a.aid = b.aid
如果一条重复,一条不重复或重复统计出来的结果都应该为2才是
可以算出的结果为1
在phpmyadmin运行统计算出两条记录,分别为1 1不累加
FROM a, b
WHERE a.aid = b.aid 我是按这么去做的,在phpmyadmin下运行分别出来两条记录1和1
没把1 1累加
1 世隔
2 隔工
3 世工
b表字段 bid aid bname
1 2 工作
2 2 工成
3 1 好莱坞 SELECT count( DISTINCT a.aid )
FROM a, b
WHERE a.aid = b.aid 统计得到的结果为 1 1
而不是2
select count(a.aid) as countnum from a,b where a.aid=b.aid group by a.aid )tempt