SELECT SUM(u_num) AS total FROM ( SELECT IF(count(*) > 10, count(*) , 0) as u_num FROM `ws_cn_sell` GROUP BY uid ) AS t 这句统计出来是不对的,不知道为什么 我改了一下就对了: SELECT COUNT(u_num) AS total FROM ( SELECT count(*) as u_num FROM `ws_cn_sell` GROUP BY uid having u_num>=10 ) AS t
1、你应该弄清楚你要干什么? “要统计出发布出售信息超过10条以上的客户”的信息来源于“ws_cn_sell:出售信息表” 其他都是辅助信息 所以就没有必要用 LEFT JOIN ,只需内连接即可 2、后一句sql,从昨天见到后就我就没有弄明白你是在干什么
老大其实就是这样 select uid,count(*) as aa from ws_cn_sell group by uid having aa>10 order by aa desc 这是取出发布出售信息超过10条以上的客户我现在要统计出(发布出售信息超过10条以上的客户)的客户总数,以便用来分页: select uid,count(*) as aa from ws_cn_sell group by uid having aa>10 order by aa desc 这句里面客户的总数,不知道怎么统计??
SELECT a.id,a.username,a.name,a.ip,b.* FROM eqs_users a LEFT JOIN ws_users_info b on a.id=b.uid WHERE a.uid IN ( SELECT uid FROM ws_cn_sell GROUP BY uid having count(uid)>1) ORDER BY a.register_date DESC LIMIT 0, 20
SELECT COUNT(*) FROM eqs_users a LEFT JOIN ws_users_info b ON a.id=b.uid WHERE 1=1 HAVING sell_num >=10这个真的有用?不明白……SELECT COUNT(*) FROM eqs_users as a,ws_users_info as b,ws_cn_sell as c WHERE a.id=b.uid asd b.sell_num >=10 感觉这个就能实现你的查询要求了如果分页,就的使用limit了$page=20;//每页20条信息 $p=$_GET["page"];//获取传递参数 $sql="select * from eqs_users as a,ws_users_info as b,ws_cn_sell as c WHERE a.id=b.uid asd b.sell_num >=10 limit {$page*($p-1)},{$page*$p}";OK?行了不?唉……
SELECT SUM(u_num) AS total
FROM
(
SELECT COUNT(*) AS u_num FROM `ws_cn_sell` GROUP BY uid) AS t
试试下面这个吧,
SELECT SUM(u_num) AS total
FROM
(
SELECT IF(count(*) > 10, count(*) , 0) as u_num
FROM `ws_cn_sell`
GROUP BY uid
) AS t
SUM(u_num) => COUNT(u_num)
顺便问一下,如果我还有一张表ws_cn_buy(求购信息表,关联字段也是uid),就是要统计发布出售信息10以上,求购信息5条以上的客户,要怎么统计总数???
FROM
(
SELECT IF(count(*) > 10, count(*) , 0) as u_num
FROM `ws_cn_sell`
GROUP BY uid
) AS t
这句统计出来是不对的,不知道为什么
我改了一下就对了:
SELECT COUNT(u_num) AS total
FROM
(
SELECT count(*) as u_num
FROM `ws_cn_sell`
GROUP BY uid having u_num>=10
) AS t
“要统计出发布出售信息超过10条以上的客户”的信息来源于“ws_cn_sell:出售信息表”
其他都是辅助信息
所以就没有必要用 LEFT JOIN ,只需内连接即可
2、后一句sql,从昨天见到后就我就没有弄明白你是在干什么
select uid,count(*) as aa from ws_cn_sell group by uid having aa>10 order by aa desc
这是取出发布出售信息超过10条以上的客户我现在要统计出(发布出售信息超过10条以上的客户)的客户总数,以便用来分页:
select uid,count(*) as aa from ws_cn_sell group by uid having aa>10 order by aa desc
这句里面客户的总数,不知道怎么统计??
FROM eqs_users a
LEFT JOIN ws_users_info b on a.id=b.uid
WHERE a.uid
IN (
SELECT uid FROM ws_cn_sell
GROUP BY uid having count(uid)>1)
ORDER BY a.register_date DESC LIMIT 0, 20
感觉这个就能实现你的查询要求了如果分页,就的使用limit了$page=20;//每页20条信息
$p=$_GET["page"];//获取传递参数
$sql="select * from eqs_users as a,ws_users_info as b,ws_cn_sell as c WHERE a.id=b.uid asd b.sell_num >=10 limit {$page*($p-1)},{$page*$p}";OK?行了不?唉……