試編寫代碼示例如下:
創(chuàng)新互聯(lián)于2013年開始,先為潮安等服務建站,潮安等地企業(yè),進行企業(yè)商務咨詢服務。為潮安企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
?php
//連接數(shù)據(jù)庫
$db?=?new?mysqli('localhost','test','test','test');
if?($db-connect_errno)?{
printf("連接數(shù)據(jù)庫失敗:?%s\n",?$db-connect_error);
exit();
}
//對數(shù)據(jù)庫根據(jù)時間字段按降序排序,并抽取前面的40條記錄
$data?=?$db-query('select?*?from?數(shù)據(jù)表名?order?by?時間字段名?desc?limit?40');
$rows?=?$data-fetch_all(MYSQLI_ASSOC);
//隨機生成?5?條記錄數(shù)組
$rand_arr?=?array_rand($rows,?5);
//根據(jù)生成的隨機數(shù)組,輸出記錄
for($i=0;$i5;$i++)
{
echo?$rows[$rand_arr[$i]]['name'].'?|?'.$rows[$rand_arr[$i]]['description'].'?|?'.$rows[$rand_arr[$i]]['update_time'].'br/';
}
?
示例運行截圖:
thinkphp 3.2 sql語句distinct用法
DISTINCT 方法用于返回唯一不同的值 。
例如:
$Model-distinct(true)-field('name')-select();
生成的SQL語句是: SELECT DISTINCT name FROM think_user
$sql="select * from mytb order by time desc limit 5"
不足5條,沒關系。
凡事多嘗試。
本人用ThinkPHP3.2,今天正在開發(fā)一個需要分組顯示的功能,可是從數(shù)據(jù)庫中把相應數(shù)據(jù)讀取后直接用group分組,結(jié)果每組顯示的是最老的記錄,我的需求是要顯示每組的最新記錄。在網(wǎng)上大搜一翻后,未果,本人決定自行研究,現(xiàn)將方法記錄于此以防遺忘。
其實很簡單,以供就兩步:
第一步:
將符合條件的數(shù)據(jù)全部取出,暫不用group分組,作為子查詢:
[php]?view plain?copy
$subQuery?=?$model-field('id,name')-table('tablename')-where($where)-order('time?desc')-select(false);
第二部:
利用子查詢進行查詢分組
[php]?view plain?copy
$model-table($subQuery.'?a')-group('field')-select();span?style="font-family:?Arial,?Helvetica,?sans-serif;"?/span
好了,思路就是這樣。希望對大家有幫助!