首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

求一条sql语句:用到统计函数和条件有点想不出来如何写了

2012-03-22 
求一条sql语句:用到统计函数和条件有点想不出来怎么写了。我有一个用户表:查询某个人用:用户信息表,有地区p

求一条sql语句:用到统计函数和条件有点想不出来怎么写了。
我有一个用户表:
查询某个人用:用户信息表,有地区province_id字段
select*from   userinfo   where   user_id=78

这个是用户发言表
统计用户发言:
select   count(*)   from   userfa   where   user_id=78    

两张表用user_id连接.
我要实现的效果是:统计没个人的发言总数,没发言的也要显示出来,在用用户信息表中的province_id分类..

我自己写了条语句:
select   a.user_id,a.province_id,count(b.user_id)   as   num     from   VIEW_UserInfo   as   a   inner   join   quoted   as   b   on     a.user_id=b.q_usernameid   where   province_id=20   group     by   a.user_id,a.province_id

但现在问题是因为要显示发言为空的人   所以在聚合函数里面加个group   by   all   来现实不符合条件的纪录,但我又要用地区分类,这个有冲突啊。
因该怎么解决啊。

[解决办法]
怎么最近很多人问SQL的问题呢?
还是SQL
Sql = "select info.ids,count(ily.ids) as counts from info left join ily on(info.ids=ily.ids) group by info.ids

info 为表1,ily 为表2
其他的我就不用说了吧
[解决办法]
select count(*),user_id from userfa group by user_id

直接就把每个人的信息统计出来了。至于区域没有看懂要做什么。
[解决办法]
and q_sortid is not null
[解决办法]
我在解释下我的思路,用了 left 后:
select a.user_id,a.province_id,count(b.user_id) as num from VIEW_UserInfo as a left join quoted as b on a.user_id=b.q_usernameid where province_id=20 group by a.user_id,a.province_id

没问题,统计为0结果显示出来用VIEW_UserInfo字段里的查询也OK

但是我在用quoted 表中的字段做条件就出错了:就不在显示为0的结果拉。
我想是不是因为用了quoted里面的字段 所以把以left左表作为基准该成了右表做为基准了。

象这样的语句到底因该怎么写呢。
=====================================================
不是这个原因,你把修改后的贴出来

热点排行