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

在sql中實現(xiàn)取一行最大值或者最小值

 更新時間:2020年12月28日 15:24:34   作者:大大盒子  
這篇文章主要介紹了在sql中實現(xiàn)取一行最大值或者最小值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)

實現(xiàn)SQL語句(最大)

select
shop,
month,
greatest(dz,fz,sp) as max
from
tablename;

實現(xiàn)SQL語句(最小)

select
shop,
month,
least (dz,fz,sp) as min
from
tablename;

補充:SQL Server獲取一行中多列的最大值三種方法

有些時候我們需要從一個表的多個列中獲取一個最大值(這些列的數(shù)據(jù)類型相同,并且是每一行記錄都要獲取一個最大值)。下面講了三種方法,我們一起看下。

首先我們創(chuàng)建一個表,并在表中插入需要用到的記錄,如下:

create table Demo(
 Guid varchar(50) not null default newid() primary key,
 Date1 datetime null,
 Date2 datetime null,
 Date3 datetime null
)

然后我們在表中插入測試數(shù)據(jù)

insert into Demo(Date1,Date2,Date3) values
('2016-9-5','2016-8-6','2016-10-9'),
('2015-5-6','2015-8-6','2015-6-3'),
('2016-10-6','2015-6-6','2016-9-6')

select * from Demo

我們需要獲取上面每一行記錄的三個日期列的最大值。

方法一(效率高):

select Guid,(select Max(NewDate) from (values (Date1),(Date2),(Date3)) as #temp(NewDate)) as MaxDate from Demo

方法二(效率高):

select Guid, max(NewDate) as MaxDate from Demo unpivot (NewDate for DateVal in (Date1,Date2,Date3)) as u group by Guid

方法三(效率低,不建議用):

select Guid, (select max(NewDate) as MaxDate from (select Demo.Date1 as NewDate union select Demo.Date2 union select Demo.Date3)ud) MaxDate from Demo

第一種方法使用values子句,將每行數(shù)據(jù)構(gòu)造為只有一個字段的表,以后求最大值,非常巧妙;

第二種方法使用行轉(zhuǎn)列經(jīng)常用的UNPIVOT 關(guān)鍵字進行轉(zhuǎn)換再顯示;

第三種方法跟第一種方法差不多,但是使用union將三個UpdateByAppDate字段合并為只有一個字段的結(jié)果集然后求最大值。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • mysql MGR 單主多主模式切換知識點詳解

    mysql MGR 單主多主模式切換知識點詳解

    在本篇文章里小編給大家整理了關(guān)于mysql MGR 單主多主模式切換知識點詳解內(nèi)容,需要的朋友們可以參考下。
    2020-03-03
  • 在CMD中操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼解決方案

    在CMD中操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼解決方案

    有說將cmd字符編碼用chcp命令改為65001(utf8字符編碼),可這樣之后根本無法輸入中文,查詢出的中問結(jié)果依舊亂碼 。下面小編給大家?guī)砹嗽贑MD中操作mysql數(shù)據(jù)庫出現(xiàn)中文亂碼解決方案,一起看看吧
    2017-09-09
  • mysql 動態(tài)執(zhí)行存儲過程語句

    mysql 動態(tài)執(zhí)行存儲過程語句

    MSSQL中動態(tài)執(zhí)行sql語句可以使用EXEC()函數(shù)。MSSQL中也有類似的函數(shù)EXECUTE(),不過不同的是MYSQL中動態(tài)執(zhí)行存儲過程語句與MSSQL還是有區(qū)別的。
    2009-07-07
  • Mysql添加字段或索引導(dǎo)致鎖表的處理方式

    Mysql添加字段或索引導(dǎo)致鎖表的處理方式

    我們后端開發(fā)人員在實現(xiàn)業(yè)務(wù)修改時,經(jīng)常需要更新數(shù)據(jù)庫表結(jié)構(gòu),如增加字段、修改字段長度等等,下面這篇文章主要給大家介紹了關(guān)于Mysql添加字段或索引導(dǎo)致鎖表的處理方式,需要的朋友可以參考下
    2023-05-05
  • MySQL事務(wù)日志(redo?log和undo?log)的詳細分析

    MySQL事務(wù)日志(redo?log和undo?log)的詳細分析

    innodb事務(wù)日志包括redo?log和undo?log,redo?log是重做日志,提供前滾操作,undo?log是回滾日志,提供回滾操作,下面這篇文章主要給大家介紹了關(guān)于MySQL事務(wù)日志(redo?log和undo?log)的詳細分析,需要的朋友可以參考下
    2022-04-04
  • MySQL 8.0.19安裝詳細教程(windows 64位)

    MySQL 8.0.19安裝詳細教程(windows 64位)

    這篇文章主要介紹了MySQL 8.0.19安裝詳細教程(windows 64位),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • mysql 8.0.22 安裝配置圖文教程

    mysql 8.0.22 安裝配置圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.22 安裝配置圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 一文詳解如何徹底刪除舊版本mysql并安裝新版本

    一文詳解如何徹底刪除舊版本mysql并安裝新版本

    如果要重新安裝MySQL就必須將之前的MySQL進行徹底的卸載,下面這篇文章主要給大家介紹了關(guān)于如何徹底刪除舊版本mysql并安裝新版本的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • MySQL中IO問題的深入分析與優(yōu)化

    MySQL中IO問題的深入分析與優(yōu)化

    據(jù)庫作為存儲系統(tǒng),所有業(yè)務(wù)訪問數(shù)據(jù)的操作都會轉(zhuǎn)化為底層數(shù)據(jù)庫系統(tǒng)的IO行為,下面這篇文章主要給大家介紹了關(guān)于MySQL中IO問題的深入分析與優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL系統(tǒng)庫之information_schema的實現(xiàn)

    MySQL系統(tǒng)庫之information_schema的實現(xiàn)

    information_schema用于存儲數(shù)據(jù)庫元數(shù)據(jù),本文主要介紹了MySQL系統(tǒng)庫之information_schema的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論

延安市| 定南县| 嘉黎县| 苏州市| 淳安县| 长岭县| 张家界市| 河北区| 乌苏市| 丹棱县| 永平县| 理塘县| 太湖县| 鄂伦春自治旗| 成都市| 乾安县| 金川县| 深州市| 彰化市| 水城县| 昌图县| 黔西县| 景德镇市| 东乡| 义乌市| 阿鲁科尔沁旗| 灵山县| 九台市| 北票市| 赫章县| 轮台县| 德惠市| 西乌珠穆沁旗| 拉孜县| 长葛市| 盖州市| 崇文区| 利辛县| 天镇县| 武强县| 广南县|