php不懂,
創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):成都服務(wù)器托管,成都服務(wù)器租用,成都服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。
SQL 寫給你
SELECT user, SUM(shul) shul FROM h_user GROUP by user
實(shí)現(xiàn)上面sql查詢結(jié)果的記錄總數(shù)
$sql = select count(C.`cid`) as `c` from (select * from `ctable` group by pid) as C left join `ptable` as P on P.`pid` = C.`pid`;
詳解,此語句用到了sql子查詢,先使用子查詢對(duì)ctable進(jìn)行分組查詢,然后對(duì)分組后的結(jié)果集進(jìn)行統(tǒng)計(jì).
分組查詢?cè)矶际荢QL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如
join()、group()、having()方法等,實(shí)際對(duì)應(yīng)的也是SQL里的這些關(guān)鍵字!
例如本次需求是要按照cid進(jìn)行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY
cid,這樣就能按照cid進(jìn)行分組篩選!然后使用THINKPHP的時(shí)候則使用 M('表名')-group('cid')-select();
實(shí)際生成的語句和原始SQL代碼是一樣的。
join通常有下面幾種類型,不同類型的join操作會(huì)影響返回的數(shù)據(jù)結(jié)果。
INNER JOIN: 等同于 JOIN(默認(rèn)的JOIN類型),如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN: 只要其中一個(gè)表中存在匹配,就返回行