php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题
我設置了以下數據庫格式:
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
我使用以下查詢對按fid(或名稱)分組的內容進行排序和顯示,并按最短時間對其進行排序:
SELECT id, fid, name, MIN(time), flag FROM dblist GROUP BY name ORDER BY MIN(time)
當我按需要獲取輸出時,此方法工作正常.就像是:
name time
Mike 55
Ann 80
John 98
但是,如果嘗試顯示fid,flag或與該特定時間記錄相關聯的任何其他字段,則會得到一些其他值(大概是查詢首先出現).
我想得到的是以下格式:
id fid name time flag
5 224 Mike 55 7
4 121 Ann 80 1
2 555 John 98 5
我想知道是否有一種方法可以僅使用一個數據庫和其他一些查詢語法來完成此任務?
謝謝.
解決方法:
在兩個條件1上使用自我連接,每個條件具有名稱,每個名稱的時間得分最少,按結果分組是不確定的,不能保證分組的最新或第一條記錄的順序
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`
標簽:sql,mysql,php,sorting
來源: https://codeday.me/bug/20191121/2054006.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php对分数排序,php-MySQL @grouping结果按ID并按分数排序”问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android布局中使用include及
- 下一篇: php如何防sql注入攻击,php防sq