MySQL 多表分組後獲取每一組的時間最大的那條記錄
- 一、問題
GROUP BY分組後取最新時間的一條記錄的SQL的解決方案。
- 二、解決方案
- 首先對資源表資料進行排序(多表)
SELECT
a1.*,
a2.a2id
FROM
table1 a1
LEFT JOIN table2 a2
ON a1.a1id = a2.a2id
WHERE a1.time
ORDER BY a1.time desc
- 然後組合以上SQL生成的臨時表進行巢狀查詢(多表)
SELECT
w.*
FROM
(
SELECT
a1.*,
a2.a2id
FROM
table1 a1
LEFT JOIN table2 a2
ON a1.a1id = a2.a2id
WHERE a1.a1time
ORDER BY a1.a1time desc
) w
GROUP BY w.a1id
另外在查詢時,有一篇文章內在臨時表查詢時加入了having 1作為條件,經測試,取消後得到的結果是相同的,各位可以在使用時自定義測試
SELECT
w.*
FROM
(
SELECT
a1.*,
a2.a2id
FROM
table1 a1
LEFT JOIN table2 a2
ON a1.a1id = a2.a2id
WHERE a1.a1time
HAVING 1
ORDER BY a1.a1time desc
) w
GROUP BY w.a1id
臨時表內的a2.id可替換為a2.*作為臨時表w的多資料條件
相關文章
- MySQL分組後,取出每組最新申請的一條記錄MySql
- MySQL 分組後取最新記錄MySql
- sql 按著時間分組,每組取 20 條資料SQL
- MySql先分組統計總記錄數,再獲取記錄數中的最大值MySql
- MySQL分組查詢後獲取前N條資料MySql
- Laravel 分組獲取最新記錄Laravel
- mysql 分組取每個組的前幾名的問題MySql
- MySQL 分組排序後 → 如何取前N條或倒數N條MySql排序
- C# ling to sql 取多條記錄最大時間的例項程式碼C#SQL
- mysql查詢最近時間的一組資料MySql
- Mysql按時間分組查詢(每天|每月|每年)MySql
- 一句話從 Mysql 取每組前三名MySql
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- js獲取多少天以後的時間JS
- MySQL 關聯表取最新一條記錄方案MySql
- sql 多組條資料取最新的一條資料SQL
- MySQL如何獲取binlog的開始時間和結束時間MySql
- python 獲取一段時間內,每個月的第一天和最後一天Python
- mysql查詢表中日期最大的那條資料MySql
- MySQL如何快速獲取binlog的開始時間和結束時間MySql
- “後半”有序的分組
- MYSQL——分組MySql
- 一句話實現MySQL庫中的有序列舉條件分組MySql
- Python的pandas的Dataframe使用groupby分組並求每組的統計值Python
- mysql刪除一條記錄MySql
- SQL Server 怎麼在分頁獲取資料的同時獲取到總記錄數SQLServer
- sql取每組最新資料SQL
- postgresql 多條記錄合併一條,或取最新的一條資料SQL
- MYSQL獲取當前年、季、月、周第一天、最後一天的日期/時間戳MySql時間戳
- SQL Server在分頁獲取資料的同時獲取到總記錄數的兩種方法SQLServer
- Solon 框架如何方便獲取每個請求的響應時間?框架
- java獲取指定日期之前或之後的時間Java
- 獲取時間戳,幾個時間點的時間戳時間戳
- mysql獲取今天、昨天0點時間戳MySql時間戳
- 按條件查出兩條記錄後求其位置間隔
- Mysql 分組排序的sql寫法MySql排序
- Linux時間的獲取與使用Linux
- python 獲取時間的datetime庫Python