在使用mysql進行數據分析時,經常需要找出排名前幾的數據。下面是一些常用的mysql語句。
-- 找出排名前5的數據 SELECT * FROM tbl ORDER BY num DESC LIMIT 5; -- 找出排名前10%的數據 SELECT * FROM tbl ORDER BY num DESC LIMIT ROUND((SELECT COUNT(*) FROM tbl)*0.1); -- 找出排名第二的數據 SELECT * FROM tbl ORDER BY num DESC LIMIT 1,1; -- 找出排名前5的數據,并只返回特定的列 SELECT col1, col2 FROM tbl ORDER BY num DESC LIMIT 5;
以上語句中,ORDER BY
用于指定排序方式,DESC
表示降序排列,LIMIT
用于限制返回結果的數量。
需要注意的是,在使用LIMIT
時,第一個參數表示從哪一行開始返回,而不是返回數目。
如果需要找出排名前百分之十的數據,可以使用嵌套查詢和ROUND
函數來計算需要返回的行數。
-- 找出排名前10%的數據 SELECT * FROM tbl WHERE num >= ( SELECT ROUND(MAX(num)*0.1) FROM tbl ) ORDER BY num DESC;
這條語句會先計算出num列最大值的10%(MAX(num)*0.1
),然后將num列大于等于這個值的數據返回。
以上是一些常用的mysql語句,可以根據實際情況進行修改和調整。
上一篇css改變圖片大小語句