php查詢數(shù)據(jù)分組 MySQL 分組查詢

Thinkphp數(shù)據(jù)查詢group分組如何取每組的最新記錄

本人用ThinkPHP3.2,今天正在開發(fā)一個(gè)需要分組顯示的功能,可是從數(shù)據(jù)庫(kù)中把相應(yīng)數(shù)據(jù)讀取后直接用group分組,結(jié)果每組顯示的是最老的記錄,我的需求是要顯示每組的最新記錄。在網(wǎng)上大搜一翻后,未果,本人決定自行研究,現(xiàn)將方法記錄于此以防遺忘。

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)資溪,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

其實(shí)很簡(jiǎn)單,以供就兩步:

第一步:

將符合條件的數(shù)據(jù)全部取出,暫不用group分組,作為子查詢:

[php]?view plain?copy

$subQuery?=?$model-field('id,name')-table('tablename')-where($where)-order('time?desc')-select(false);

第二部:

利用子查詢進(jìn)行查詢分組

[php]?view plain?copy

$model-table($subQuery.'?a')-group('field')-select();span?style="font-family:?Arial,?Helvetica,?sans-serif;"?/span

好了,思路就是這樣。希望對(duì)大家有幫助!

THINKPHP中怎么對(duì)數(shù)據(jù)進(jìn)行分組查詢?

分組查詢?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í)際生成的語(yǔ)句和原始SQL代碼是一樣的。

thinkphp 多表分組查詢?cè)撛趺磁?/h2>

有點(diǎn)不太明白你的意思,不過(guò)thinkphp的查詢可以使用這種方法,你上面有兩個(gè)表,假設(shè)用戶表就叫做user,文章表叫做paper,那你就可以這樣:$dao=M("user"); $rs=$dao-table('user as u,paper as p')-field('u.xxxx,p.xxxx')-select();

其中field()方法是你要查找的字段,如果在你兩張表沒(méi)有字段名是重復(fù)的情況下,你也是可以不用這個(gè)方法的。這樣就把你要查找的資料存放到一個(gè)組數(shù)$rs里面了

本文名稱:php查詢數(shù)據(jù)分組 MySQL 分組查詢
轉(zhuǎn)載注明:http://muchs.cn/article44/hjeohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)站內(nèi)鏈、網(wǎng)站改版網(wǎng)站收錄、靜態(tài)網(wǎng)站、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名