欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中g(shù)roup by與max()一起使用的坑

 更新時(shí)間:2023年08月09日 15:09:14   作者:搬磚,攢路費(fèi)  
最近在做一個(gè)項(xiàng)目,發(fā)現(xiàn)用之前SQL語(yǔ)句導(dǎo)出的余額與客戶(hù)人員最近消費(fèi)記錄所顯示的余額不一致,本文就來(lái)了解一下這個(gè)錯(cuò)誤,感興趣的可以了解一下

前言

國(guó)慶之間在進(jìn)行一個(gè)消費(fèi)項(xiàng)目切換時(shí),發(fā)現(xiàn)用之前SQL語(yǔ)句導(dǎo)出的余額與客戶(hù)人員最近消費(fèi)記錄所顯示的余額不一致,客戶(hù)人員又比較多,還好及時(shí)發(fā)現(xiàn)沒(méi)涼成大錯(cuò)!現(xiàn)在來(lái)記錄一下。

一 GROUP BY的簡(jiǎn)單介紹

GROUP BY顧名思義,group: 分組,by: 以…; 組合起中來(lái)就是以什么來(lái)分組。在mysql理解為以一個(gè)字段或多個(gè)字段來(lái)分組顯示結(jié)果集,如下。

數(shù)據(jù)表

執(zhí)行以下語(yǔ)句

select *from scgroup by sid

結(jié)果如下

結(jié)果以sid分組表示出來(lái)了,細(xì)心一點(diǎn)會(huì)發(fā)現(xiàn)分組后顯示的記錄是分組前第一條sid對(duì)應(yīng)的值,執(zhí)行以下語(yǔ)句可以觀察到,如下。

SELECT *,GROUP_CONCAT(score)
FROM sc
GROUP BY sid;

二 MAX()的簡(jiǎn)單介紹

MAX()是mysql里面的一個(gè)聚合函數(shù),用來(lái)取最大值的,如下。

SELECT MAX(score)
FROM sc;

結(jié)果顯示score列的最大值,是沒(méi)有問(wèn)題的。

三 group by與max()一起使用

要求:導(dǎo)出sid中score值最大的那條記錄(類(lèi)似與導(dǎo)余額)

之前導(dǎo)余額用的語(yǔ)句類(lèi)似以下SQL語(yǔ)句

SELECT sid,cid,MAX(score) as score
FROM sc
GROUP BY sid;

咋一看,score的值篩選出來(lái)是最大的,沒(méi)有問(wèn)題,但是核對(duì)score最高值對(duì)應(yīng)的記錄時(shí)發(fā)現(xiàn)是錯(cuò)的,如下

四 原因

我分析了下原因,主要是由group by 分組后顯示的是第一條記錄,而max()取的是相同sid中的最大score值造成的,如下

SELECT sid,cid,score,GROUP_CONCAT(score)
FROM sc
GROUP BY sid;

相當(dāng)于把第一條記錄的score值用最大值替換了,這顯然是不對(duì)的。

五 解決辦法

我的方法是先用子查詢(xún)把sid和其最大值score先查出來(lái),然后再和原表匹配,如下

SELECT a.sid,a.cid,a.score
FROM
sc as a,
(SELECT sid,max(score) as score
FROM sc
GROUP BY sid) as b
WHERE a.sid=b.sid AND a.score=b.score

當(dāng)然,解決方法不止這一種,具體情況具體討論。

到此這篇關(guān)于MySQL中g(shù)roup by與max()一起使用的坑的文章就介紹到這了,更多相關(guān)MySQL group by與max()一起使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)

    史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)

    這篇文章主要為大家詳細(xì)介紹了史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程下篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀

    MySQL8.0移除傳統(tǒng)的.frm文件原因及解讀

    MySQL 8.0移除傳統(tǒng)的.frm文件,采用基于InnoDB的事務(wù)型數(shù)據(jù)字典,主要解決了元數(shù)據(jù)不一致、性能優(yōu)化、架構(gòu)簡(jiǎn)化、增強(qiáng)功能支持、兼容性與升級(jí)問(wèn)題,這一變革提高了數(shù)據(jù)庫(kù)的可靠性和性能,為未來(lái)的高級(jí)功能奠定了基礎(chǔ)
    2025-03-03
  • mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法

    mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法

    這篇文章主要介紹了mysql實(shí)現(xiàn)合并同一ID對(duì)應(yīng)多條數(shù)據(jù)的方法,涉及mysql GROUP_CONCAT函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 一步步教你如何使用mysql?binlog恢復(fù)數(shù)據(jù)

    一步步教你如何使用mysql?binlog恢復(fù)數(shù)據(jù)

    Binlog日志即binary?log,是二進(jìn)制日志文件,有兩個(gè)作用,一個(gè)是增量備份,另一個(gè)是主從復(fù)制,下面這篇文章主要給大家介紹了關(guān)于如何使用mysql?binlog?恢復(fù)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • mysql實(shí)現(xiàn)將字符串轉(zhuǎn)化成int類(lèi)型

    mysql實(shí)現(xiàn)將字符串轉(zhuǎn)化成int類(lèi)型

    這篇文章主要介紹了mysql實(shí)現(xiàn)將字符串轉(zhuǎn)化成int類(lèi)型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL查詢(xún)性能優(yōu)化方法匯總講解

    MySQL查詢(xún)性能優(yōu)化方法匯總講解

    這篇文章主要介紹了MySQL查詢(xún)性能優(yōu)化方法,Mysql查詢(xún)性能優(yōu)化要從三個(gè)方面考慮,庫(kù)表結(jié)構(gòu)優(yōu)化、索引優(yōu)化和查詢(xún)優(yōu)化,通常在實(shí)際應(yīng)用中,我們要面對(duì)這三種攪和一起的情況,需要了解MySQL查詢(xún)性能優(yōu)化方法的朋友可以參考下
    2024-05-05
  • 解決遠(yuǎn)程連接mysql很慢的方法(mysql_connect 打開(kāi)連接慢)

    解決遠(yuǎn)程連接mysql很慢的方法(mysql_connect 打開(kāi)連接慢)

    有次同事提出開(kāi)發(fā)使用的mysql數(shù)據(jù)庫(kù)連接很慢,因?yàn)槲覀兊膍ysql開(kāi)發(fā)數(shù)據(jù)庫(kù)是單獨(dú)一臺(tái)機(jī)器部署的,所以認(rèn)為可能是網(wǎng)絡(luò)連接問(wèn)題導(dǎo)致的。
    2011-07-07
  • mysql主從復(fù)制讀寫(xiě)分離的配置方法詳解

    mysql主從復(fù)制讀寫(xiě)分離的配置方法詳解

    一般來(lái)說(shuō)mysql都是通過(guò) 主從復(fù)制(Master-Slave)的方式來(lái)同步數(shù)據(jù),再通過(guò)讀寫(xiě)分離(MySQL-Proxy)來(lái)提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力 這樣的方案來(lái)進(jìn)行部署與實(shí)施的。
    2018-04-04
  • Windows下mysql 8.0.11 安裝教程

    Windows下mysql 8.0.11 安裝教程

    這篇文章主要為大家詳細(xì)介紹了Windows下mysql 8.0.11安裝教程 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Mysql分片,大數(shù)據(jù)量時(shí)擴(kuò)容解決方案

    Mysql分片,大數(shù)據(jù)量時(shí)擴(kuò)容解決方案

    這篇文章主要介紹了Mysql分片,大數(shù)據(jù)量時(shí)擴(kuò)容解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論