MySQL分組查詢後獲取前N條資料
思路
查詢出資料,然後使用group by排序,這樣可以得到分組後的資料,然後我們在select中的查詢欄位內自定義一個欄位,用來獲取其排序順序,最後再在外層加一層,只要獲取前N條資料即可。
例子
SELECT t.*
FROM (
SELECT a.id,
a.type_id,
c.`name` AS typeName,
a.scan_total,
a.`name`,
(
SELECT COUNT(b.id)
FROM course AS b
WHERE b.type_id = a.type_id
AND b.scan_total > a.scan_total
) AS top
FROM course AS a LEFT JOIN course_type AS c
ON c.id = a.type_id
ORDER BY a.type_id ASC,
a.scan_total DESC
) AS t
WHERE t.top < 3
相關文章
- MySQL 分組排序後 → 如何取前N條或倒數N條MySql排序
- [MySQL] 分組排序取前N條記錄以及生成自動數字序列,類似group by後 limitMySql排序MIT
- 查詢前10條資料oracleOracle
- MySQL分組排序取前N條記錄 以及 生成自動數字序列 的SQLMySql排序
- MySQL 多表分組後獲取每一組的時間最大的那條記錄MySql
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- [Mysql 查詢語句]——分組查詢group byMySql
- Oracle查詢前100萬條資料Oracle
- 資料庫分類統計、分組查詢資料庫
- Oracle和MySQL分組查詢GROUP BYOracleMySql
- 關於資料庫取表的前N條記錄 (轉)資料庫
- MySQL 分組後取最新記錄MySql
- javaee導測(ssh框架)分頁 mysql資料庫(帶條件查詢)Java框架MySql資料庫
- 分組查詢
- sql 按著時間分組,每組取 20 條資料SQL
- mysql查詢最近時間的一組資料MySql
- mysql加強(3)~分組(統計)查詢MySql
- MySQL之集合函式與分組查詢MySql函式
- Mysql 獲取表設計查詢語句MySql
- group by分組查詢
- mysql條件查詢MySql
- mysql 分組取每個組的前幾名的問題MySql
- mysql查詢表中日期最大的那條資料MySql
- mysql 查詢出重複資料的第一條MySql
- oracle分組查詢獲得組的最大值記錄Oracle
- 百億級資料分表後怎麼分頁查詢?
- MySQL資料查詢MySql
- MYSQL查詢資料MySql
- 查詢前50%的資料
- Sql group by 分組取時間最新的一條資料SQL
- 不同資料庫限制取前N條記錄資料庫
- MySQL - 資料查詢 - 簡單查詢MySql
- SQL Server 多表聯合查詢取最新一條資料SQLServer
- 對查詢資料庫中第M到N條記錄的思考資料庫
- SQL 單表多條記錄分組查詢分頁程式碼SQL
- Mysql-基本練習(09-刪除單表記錄、查詢指定列資料、列的別名、簡單單表條件查詢、簡單分組查詢)MySql
- Mysql按時間分組查詢(每天|每月|每年)MySql
- Mysql中常用函式 分組,連線查詢MySql函式