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

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

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

原始數(shù)據(jù)和目標數(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添加字段或索引導致鎖表的處理方式

    Mysql添加字段或索引導致鎖表的處理方式

    我們后端開發(fā)人員在實現(xiàn)業(yè)務(wù)修改時,經(jīng)常需要更新數(shù)據(jù)庫表結(jié)構(gòu),如增加字段、修改字段長度等等,下面這篇文章主要給大家介紹了關(guān)于Mysql添加字段或索引導致鎖表的處理方式,需要的朋友可以參考下
    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位),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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

最新評論

广昌县| 五大连池市| 三门县| 嘉黎县| 奇台县| 中西区| 阳东县| 桐庐县| 屏东县| 玉溪市| 延庆县| 阳信县| 利川市| 册亨县| 苍山县| 大化| 巫溪县| 娄烦县| 壶关县| 长葛市| 苗栗县| 汪清县| 曲水县| 乃东县| 社旗县| 五大连池市| 民权县| 新巴尔虎右旗| 衡阳县| 文水县| 正蓝旗| 贞丰县| 西贡区| 鹿邑县| 通道| 天镇县| 灵璧县| 栾城县| 南涧| 双峰县| 宁武县|