如果我們需要在 MySQL 數據庫的數據表中取出每一組前三條數據,我們可以利用ROW_NUMBER
函數實現此目的。
SELECT * FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY id) as row_num
FROM table_name
) AS t
WHERE t.row_num <= 3;
上述 SQL 代碼的含義是先使用子查詢語句取出數據表table_name
中所有數據,其中通過PARTITION BY
子句將數據按照group_id
分組,然后使用ROW_NUMBER()
函數對每一組數據按照id
排序并進行編號。最后,在外層 SQL 語句中篩選出每一組數據中前三條數據。
以上就是利用 MySQL ROW_NUMBER 函數取出每組前三條數據的方法??梢愿鶕嶋H需求適當修改 SQL 代碼。
上一篇html swf居中代碼
下一篇mysql取最小值的名字