php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
我設(shè)置了以下數(shù)據(jù)庫(kù)格式:
id fid name time flag
1 224 Mike 112 3
2 555 John 98 5
3 224 Mike 101 0
4 121 Ann 80 1
5 224 Mike 55 7
6 121 Ann 150 4
我使用以下查詢對(duì)按fid(或名稱)分組的內(nèi)容進(jìn)行排序和顯示,并按最短時(shí)間對(duì)其進(jìn)行排序:
SELECT id, fid, name, MIN(time), flag FROM dblist GROUP BY name ORDER BY MIN(time)
當(dāng)我按需要獲取輸出時(shí),此方法工作正常.就像是:
name time
Mike 55
Ann 80
John 98
但是,如果嘗試顯示fid,flag或與該特定時(shí)間記錄相關(guān)聯(lián)的任何其他字段,則會(huì)得到一些其他值(大概是查詢首先出現(xiàn)).
我想得到的是以下格式:
id fid name time flag
5 224 Mike 55 7
4 121 Ann 80 1
2 555 John 98 5
我想知道是否有一種方法可以僅使用一個(gè)數(shù)據(jù)庫(kù)和其他一些查詢語(yǔ)法來(lái)完成此任務(wù)?
謝謝.
解決方法:
在兩個(gè)條件1上使用自我連接,每個(gè)條件具有名稱,每個(gè)名稱的時(shí)間得分最少,按結(jié)果分組是不確定的,不能保證分組的最新或第一條記錄的順序
select t.* from t
join (SELECT name, MIN(`time`) `time`
FROM t GROUP BY name) t1
on(t.name = t1.name and t.`time`=t1.`time`)
order by t.`time`
標(biāo)簽:sql,mysql,php,sorting
來(lái)源: https://codeday.me/bug/20191121/2054006.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android布局中使用include及
- 下一篇: Redis进阶实践之十六 Redis大批