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
- sql 按著時間分組,每組取 20 條資料SQL
- MySQL 分組後取最新記錄MySql
- oracle分組查詢獲得組的最大值記錄Oracle
- MySql先分組統計總記錄數,再獲取記錄數中的最大值MySql
- SQL 分組排序取最新一條記錄SQL排序
- Sql group by 分組取時間最新的一條資料SQL
- Laravel 分組獲取最新記錄Laravel
- MySQL分組查詢後獲取前N條資料MySql
- mysql 分組取每個組的前幾名的問題MySql
- MySQL分組排序取前N條記錄 以及 生成自動數字序列 的SQLMySql排序
- MySQL 分組排序後 → 如何取前N條或倒數N條MySql排序
- MySQL GROUP BY分組取欄位最大值MySql
- SQL 獲取插入後的最新一條記錄ID號SQL
- [MySQL] 分組排序取前N條記錄以及生成自動數字序列,類似group by後 limitMySql排序MIT
- MySQL學習記錄--分組與聚集MySql
- C# ling to sql 取多條記錄最大時間的例項程式碼C#SQL
- mysql查詢最近時間的一組資料MySql
- MySQL如何獲取當前時間的前一天和後一天時間MySql
- Mysql按時間分組查詢(每天|每月|每年)MySql
- MySQL的Group By分組MySql
- 一句話從 Mysql 取每組前三名MySql
- SQL 單表多條記錄分組查詢分頁程式碼SQL
- Oracle按時間分組統計的sqlOracleSQL
- 分組求TOP N記錄
- 查詢每組資料中最新月份的記錄
- sql 多組條資料取最新的一條資料SQL
- MYSQL——分組MySql
- js獲取多少天以後的時間JS
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- sql取每組最新資料SQL
- MySQL 關聯表取最新一條記錄方案MySql
- 一句話實現MySQL庫中的有序列舉條件分組MySql
- Python的pandas的Dataframe使用groupby分組並求每組的統計值Python
- mysql查詢表中日期最大的那條資料MySql
- python 獲取一段時間內,每個月的第一天和最後一天Python
- JavaScript獲取每個月最後一天的日期JavaScript
- 組策略每5分鐘出(轉)