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排序
- Oracle查詢前100萬條資料Oracle
- MySQL 多表分組後獲取每一組的時間最大的那條記錄MySql
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- MySQL 分組後取最新記錄MySql
- Mysql 獲取表設計查詢語句MySql
- mysql條件查詢MySql
- mysql查詢表中日期最大的那條資料MySql
- mysql 查詢出重複資料的第一條MySql
- MYSQL查詢資料MySql
- 分組查詢
- mysql查詢最近時間的一組資料MySql
- MySQL - 資料查詢 - 簡單查詢MySql
- sql 按著時間分組,每組取 20 條資料SQL
- mysql加強(3)~分組(統計)查詢MySql
- 百億級資料分表後怎麼分頁查詢?
- Mysql-基本練習(09-刪除單表記錄、查詢指定列資料、列的別名、簡單單表條件查詢、簡單分組查詢)MySql
- 不同資料庫限制取前N條記錄資料庫
- 20240719資料庫關聯查詢、條件查詢資料庫
- 百億級資料 分庫分表 後怎麼分頁查詢?
- group by分組查詢
- mysql 分組取每個組的前幾名的問題MySql
- Mysql按時間分組查詢(每天|每月|每年)MySql
- Mysql中常用函式 分組,連線查詢MySql函式
- 查詢前90%的資料值
- Mysql在資料插入後立即獲取插入的IdMySql
- sql 多組條資料取最新的一條資料SQL
- elasticsearch查詢之大資料集分頁查詢Elasticsearch大資料
- Spark SQL解析查詢parquet格式Hive表獲取分割槽欄位和查詢條件SparkSQLHive
- mysql將查詢資料另存MySql
- MySQL — 資料查詢語言MySql
- MySQL查詢擷取分析MySql
- Mysql批量大資料獲取MySql大資料
- MYSQL學習筆記8: DQL分組查詢(group by)MySql筆記
- MySQL全面瓦解10:分組查詢和聚合函式MySql函式
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 時序資料從通用資料庫切換到influxdb後,在查詢、分析方面能獲取哪些便利?資料庫UX
- 報表查詢條件的 N 種使用方式