最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql如何取分組之后最新的數(shù)據(jù)

 更新時間:2022年06月08日 14:41:59   作者:Tracy蘇何  
開發(fā)中經(jīng)常會遇到,分組查詢最新數(shù)據(jù)的問題,下面這篇文章主要給大家介紹了關(guān)于mysql如何取分組之后最新的數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、數(shù)據(jù)表設(shè)計

二、查詢場景 

統(tǒng)計每門課的考試次數(shù)、最新一次考試的時間、最新一次考試的錄入成績的老師

1、統(tǒng)計沒門課的考試次數(shù)

#考試次數(shù)統(tǒng)計
select project '科目',count(project) '考試次數(shù)' from score a group by project

查詢結(jié)果:

 2、最新一次考試的時間

#考試次數(shù)統(tǒng)計	最新一次考試的時間
select project '科目',count(project) '考試次數(shù)' ,max(create_time) from score a group by project

查詢結(jié)果:

 

 3、分組統(tǒng)計最新的錄入成績的老師

當(dāng)我們分組去查詢最新的錄入成績的老師或者分組查詢最新一次各科的成績時確發(fā)現(xiàn)數(shù)據(jù)不是最新的。

SELECT
	a.id,
	a.edit_teacher,
	a.project,
	a.create_time,
	a.score, 
	count(project) '考試次數(shù)',
	max(create_time) '最新數(shù)據(jù)時間'
FROM
	score a 
GROUP BY
	a.project

查詢結(jié)果:

但是很顯然我們需要查詢的數(shù)據(jù)id應(yīng)該是4、8、12

 可以看出分組聚合的時候默認查詢的是分組之后的第一條數(shù)據(jù),那么我們想要查詢最新的數(shù)據(jù)需要新對我們的數(shù)據(jù)進行排序

SELECT
	*,
	count( project ) '考試次數(shù)',
	max(create_time) '最新數(shù)據(jù)時間' 
FROM
	(
SELECT
	a.id,
	a.edit_teacher,
	a.project,
	a.create_time,
	a.score 
FROM
	score a 
ORDER BY
	a.id DESC 
	) b 
GROUP BY
	b.project

查詢結(jié)果:

我們發(fā)現(xiàn)數(shù)據(jù)并不是我們想要的結(jié)果,子查詢里面的排序失效了

網(wǎng)上查找各種資料發(fā)現(xiàn)

子查詢生成的臨時表(派生表derived table)中使用order by且使其生效,必須滿足三個條件:

1、外部查詢禁止分組或者聚合

2、外部查詢未指定having,HAVING, order by

3、外部查詢將派生表或者視圖作為from句中唯一指定源

顯然我們沒有滿足,那么如何解決order by失效呢?

我們外部表使用了group by,那么臨時表將不會執(zhí)行filesort操作(即order by會被忽略),所以我們可以在臨時表中加上(distinct(a.id))。

SELECT
	*,
	count( project ) '考試次數(shù)' ,
	max(create_time) '最新數(shù)據(jù)時間' 
FROM
	(
SELECT DISTINCT
	a.id,
	a.edit_teacher,
	a.project,
	a.create_time,
	a.score 
FROM
	score a 
ORDER BY
	a.id DESC 
	) b 
GROUP BY
	b.project

執(zhí)行結(jié)果:

 結(jié)果正確。

總結(jié)

到此這篇關(guān)于mysql如何取分組之后最新的數(shù)據(jù)的文章就介紹到這了,更多相關(guān)mysql取分組最新數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中in和exists區(qū)別詳解

    MySQL中in和exists區(qū)別詳解

    最近在寫SQL語句時,對選擇IN 還是Exists猶豫不決,所以就上網(wǎng)查詢了一下資料,本文就詳細的介紹了兩個方法的區(qū)別,感興趣的可以了解一下
    2021-06-06
  • 在MySQL中實現(xiàn)二分查找的詳細教程

    在MySQL中實現(xiàn)二分查找的詳細教程

    這篇文章主要介紹了在MySQL中實現(xiàn)二分查找的詳細教程,來自計算機研究生考試原題,需要的朋友可以參考下
    2015-05-05
  • 一文詳解MYSQL最樸素的監(jiān)控方式

    一文詳解MYSQL最樸素的監(jiān)控方式

    對于當(dāng)前數(shù)據(jù)庫的監(jiān)控方式有很多,分為數(shù)據(jù)庫自帶、商用、開源三大類,每一種都有各自的特色,那我們今天就介紹一下完全采用mysql自有方式采集獲取監(jiān)控數(shù)據(jù),在單體下達到最快速、方便、損耗最小,感興趣的同學(xué)可以借鑒閱讀
    2023-05-05
  • MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回

    MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回

    這篇文章主要介紹了MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-03-03
  • MySQL數(shù)據(jù)庫創(chuàng)建新用戶及授予權(quán)限的完整流程

    MySQL數(shù)據(jù)庫創(chuàng)建新用戶及授予權(quán)限的完整流程

    這篇文章主要給大家介紹了MySQL數(shù)據(jù)庫創(chuàng)建新用戶及授予權(quán)限的完整流程,通過這些步驟,管理員可以有效管理數(shù)據(jù)庫用戶,確保數(shù)據(jù)庫的安全性和高效運行,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • mysql?8.0版本更換用戶密碼的方法步驟

    mysql?8.0版本更換用戶密碼的方法步驟

    這篇文章主要給大家介紹了關(guān)于mysql?8.0版本更換用戶密碼的方法步驟,MySQL用戶密碼的修改是經(jīng)常面臨的一個問題,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • MySQL 5.7.13 源碼編譯安裝配置方法圖文教程

    MySQL 5.7.13 源碼編譯安裝配置方法圖文教程

    這篇文章主要介紹了MySQL 5.7.13 源碼編譯安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Mysql的MHA高可用及故障切換問題小結(jié)

    Mysql的MHA高可用及故障切換問題小結(jié)

    MHA是基于MySQL主從復(fù)制的高可用解決方案,通過自動切換到從節(jié)點并提升其為新主,實現(xiàn)數(shù)據(jù)庫的高可用和故障恢復(fù),配置包括主從復(fù)制、MHA組件、VIP管理等,通過配置無密碼認證和測試連接,可以確保MHA正常運行,感興趣的朋友一起看看吧
    2024-12-12
  • MySQL中NOT IN填坑之列為null的問題解決

    MySQL中NOT IN填坑之列為null的問題解決

    這篇文章主要給大家介紹了關(guān)于MySQL中NOT IN填坑之列為null的問題解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解

    MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解

    這篇文章主要介紹了MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解,CONCAT 函數(shù)用于將兩個字符串連接為一個字符串,本文通過實例代碼詳細講解,需要的朋友可以參考下
    2023-02-02

最新評論

平泉县| 东明县| 天津市| 建始县| 松潘县| 两当县| 莱西市| 阳东县| 兴义市| 中山市| 治县。| 池州市| 建阳市| 交口县| 青海省| 昌都县| 洪雅县| 当阳市| 贵港市| 大冶市| 西乌珠穆沁旗| 大连市| 凤山市| 商丘市| 翁源县| 台安县| 太保市| 海口市| 凤城市| 北碚区| 巨野县| 兰坪| 汉阴县| 罗平县| 百色市| 香港 | 威远县| 浪卡子县| 新河县| 琼结县| 新兴县|