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

mysql通過group?by分組取最大時(shí)間對應(yīng)數(shù)據(jù)的兩種有效方法

 更新時(shí)間:2022年09月21日 11:26:10   作者:努力努力,努力努力  
日常開發(fā)當(dāng)中,經(jīng)常會遇到查詢分組數(shù)據(jù)中指定的記錄,下面這篇文章主要給大家介紹了關(guān)于mysql通過group?by分組取最大時(shí)間對應(yīng)數(shù)據(jù)的兩種有效方法,文章通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1、項(xiàng)目記錄表project_record的結(jié)構(gòu)和數(shù)據(jù)如下:

以下為項(xiàng)目記錄表project_record的所有數(shù)據(jù)。project_id為項(xiàng)目Id,on_project_time為上項(xiàng)目時(shí)間。(每一條數(shù)據(jù)代表著上某個(gè)項(xiàng)目(project_id)的時(shí)間(on_project_time)記錄)

2、我們的需求是:取出每個(gè)項(xiàng)目中最大上項(xiàng)目時(shí)間對應(yīng)的那條數(shù)據(jù)。(即根據(jù)project_id分組,取出每組中最大的on_project_time對應(yīng)的數(shù)據(jù)。)上方紅框是我們要查出的數(shù)據(jù)

3、錯(cuò)誤代碼:

SELECT * 
FROM (SELECT * FROM project_record order by on_project_time desc) t 
GROUP BY project_id;

查詢結(jié)果錯(cuò)誤:

結(jié)果看似正確的,實(shí)則是錯(cuò)誤的。每個(gè)項(xiàng)目最大的上項(xiàng)目時(shí)間能正確查出,但是數(shù)據(jù)對應(yīng)的id不正確。

分析發(fā)現(xiàn),對于每一個(gè)分組,分組后的結(jié)果總是取組中主鍵(id)最小的數(shù)據(jù),即group by project_id 總會對project_id執(zhí)行排序(正序)

 而不論臨時(shí)表(t)中是否已排序,都會取組中主鍵id最小的一行數(shù)據(jù)。換句話說 臨時(shí)表t 內(nèi)的排序 無法影響外層的group by 的操作。

4、 正確方法如下:

方法一:

SELECT t1.*
FROM project_record t1
INNER JOIN (
SELECT DISTINCT(id) id
FROM project_record 
ORDER BY on_project_time DESC) AS t2 ON t2.id = t1.id
GROUP BY t1.project_id;

查詢結(jié)果正確:

思路:需要關(guān)聯(lián)一張表,這個(gè)關(guān)聯(lián)表t2中的數(shù)據(jù)是對原表t1按照上項(xiàng)目時(shí)間倒敘排列,注意,此處必須使用distinct,此處distinct的作用可以理解為將t1表數(shù)據(jù)順序固定為t2表順序。

主表GROUP BY 后會取出按條件分組后的第一條數(shù)據(jù)。

方法二:

select t1.*
FROM project_record t1
INNER JOIN (SELECT SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY on_project_time DESC),',',1) AS id
FROM project_record GROUP BY project_id) AS t2 ON t2.id = t1.id;

查詢結(jié)果正確:

SUBSTRING_INDEX 用法:取排序后的分組的第一條數(shù)據(jù)。 

本人習(xí)慣使用第一種方法。

總結(jié)

到此這篇關(guān)于mysql通過group by分組取最大時(shí)間對應(yīng)數(shù)據(jù)的兩種有效方法的文章就介紹到這了,更多相關(guān)mysql group by分組取對應(yīng)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Navicat遠(yuǎn)程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    Navicat遠(yuǎn)程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    最近遇到一個(gè)需求是將SQL Server轉(zhuǎn)換為 MySQL的格式,由于不想在本地安裝 SQL Server,所以決定在遠(yuǎn)程的 Windows 服務(wù)器上安裝,并在本地使用Navicat遠(yuǎn)程連接它,然而在實(shí)現(xiàn)過程中遇到了諸多問題,記錄于此。感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • mysql臨時(shí)表插入數(shù)據(jù)方式

    mysql臨時(shí)表插入數(shù)據(jù)方式

    這篇文章主要介紹了mysql臨時(shí)表插入數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 如何使用mysql完成excel中的數(shù)據(jù)生成

    如何使用mysql完成excel中的數(shù)據(jù)生成

    這篇文章主要介紹了如何使用mysql完成excel中的數(shù)據(jù)生成的相關(guān)資料,需要的朋友可以參考下
    2017-11-11
  • MySQL8.0無法遠(yuǎn)程連接訪問的解決方法

    MySQL8.0無法遠(yuǎn)程連接訪問的解決方法

    本文主要介紹了MySQL8.0無法遠(yuǎn)程連接訪問的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Windows10下MySQL5.7.31解壓版安裝與卸載方法

    Windows10下MySQL5.7.31解壓版安裝與卸載方法

    這篇文章主要介紹了Windows10下MySQL5.7.31解壓版安裝與卸載,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • 達(dá)夢數(shù)據(jù)庫獲取SQL實(shí)際執(zhí)行計(jì)劃方法詳細(xì)介紹

    達(dá)夢數(shù)據(jù)庫獲取SQL實(shí)際執(zhí)行計(jì)劃方法詳細(xì)介紹

    在達(dá)夢數(shù)據(jù)庫中,使用EXPLAIN語句可以查看sql的執(zhí)行計(jì)劃,但EXPLAIN只生成執(zhí)行計(jì)劃,并不會真正執(zhí)行SQL語句,因此產(chǎn)生的執(zhí)行計(jì)劃有可能不準(zhǔn)。本章將帶領(lǐng)大家了解多種獲取SQL實(shí)際的執(zhí)行計(jì)劃的方法
    2022-10-10
  • MySQL 5.7 zip版本(zip版)安裝配置步驟詳解

    MySQL 5.7 zip版本(zip版)安裝配置步驟詳解

    這篇文章主要介紹了MySQL 5.7 zip版本(zip版)安裝配置步驟詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • 一文解答為什么MySQL的count()方法這么慢

    一文解答為什么MySQL的count()方法這么慢

    這篇文章主要介紹了一文解答為什么MySQL的count()方法這么慢,mysql用count方法查全表數(shù)據(jù),在不同的存儲引擎里實(shí)現(xiàn)不同,myisam有專門字段記錄全表的行數(shù),直接讀這個(gè)字段就好了
    2022-07-07
  • MySQL如何修改賬號的IP限制條件詳解

    MySQL如何修改賬號的IP限制條件詳解

    這篇文章主要給大家介紹了關(guān)于MySQL如何修改賬號的IP限制條件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效)

    mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效)

    這篇文章主要介紹了mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評論

大化| 霍邱县| 绵竹市| 满洲里市| 黄龙县| 从江县| 政和县| 耿马| 佛坪县| 易门县| 赫章县| 长武县| 松阳县| 巨野县| 刚察县| 边坝县| 礼泉县| 沧源| 纳雍县| 罗江县| 两当县| 晴隆县| 鹿邑县| 黎川县| 读书| 乐山市| 宁化县| 常德市| 大丰市| 苏尼特右旗| 西城区| 黔江区| 扎赉特旗| 长武县| 昌乐县| 河西区| 南木林县| 西畴县| 固阳县| 青川县| 灵台县|