多重排序,order by 字段 方式,字段 方式...
10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有沽源免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
order by age desc,id desc 先按年齡降序,相同的年齡里按id降序
order by id,age desc 先按id升序,相同的id里按年齡降序
至于你到底需要什么樣的排序方式,按這個(gè)思路自己寫(xiě)就可以了
這個(gè)如果想要性能的話,就用下面的sql語(yǔ)句實(shí)現(xiàn):
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , xuehao,cishu from record,(Select (@rowNum :=0) ) b
order by cishu desc)t where t.xuehao=112
然后php獲得這條結(jié)果數(shù)組,取第一個(gè)元素即是排序
如果對(duì)這個(gè)sql語(yǔ)句有疑問(wèn),不明白,可以使用一個(gè)比較耗費(fèi)性能的方法:
select xuehao,cishu from record order by cishu desc
執(zhí)行這條語(yǔ)句,獲得一個(gè)數(shù)組$res
遍歷前設(shè)置一個(gè)記錄排序的標(biāo)識(shí) $seq=1;
for(...){
$xuehao=$res['xuehao'];//把第seq 個(gè)位置的學(xué)號(hào)拿出來(lái),跟想要的學(xué)號(hào)比
if($xuehao==112){
break;
}
$seq++;
}
//如果 這個(gè)排序標(biāo)識(shí)比結(jié)果集數(shù)組大小還大,說(shuō)明沒(méi)這個(gè)學(xué)號(hào)的記錄,否則,就是這個(gè)學(xué)號(hào)打卡次數(shù)的排序。
$seq就是排序
命令: select 字段1,字段2,... from 表名 where 表達(dá)式
例如:查看表 MyClass 中前2行數(shù)據(jù)
mysql select * from MyClass order by id limit 0,2;
翻頁(yè)的時(shí)候 把頁(yè)碼傳過(guò)去 然后根據(jù)頁(yè)碼直接把排名算出來(lái)
比如 第二頁(yè) page=2 然后一頁(yè)兩條 startrow = (2頁(yè)* -1)*2 +1 = 3
輸出的時(shí)候直接從3開(kāi)始