日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SqlServer分组取一瓢和月初月末

發布時間:2025/3/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SqlServer分组取一瓢和月初月末 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近發現一個小問題,在以前版本大量迭代中,為了實現各種數據顯示,不得不采用分組來顯示我們想要的數據,這個數據有什么特點呢?這里大致的分兩種,第一種分組取不同數據列滿足要求;第二種分組取不同數據且列符合要求的完整數據;,這兩種都有一個共同特點:通過分組顯示不能分組的列,且保證數據正確,下面我們分別來分析。

第一種分組取不同數據列滿足要求這一類型有一個特點,就是根據相同數據的幾列分組,顯示不同數據且符合要求的列

實現設想:這里我們通過相同數據列分組,然后對不同列取最大值或者最小值,這個可以按照自己的要求定義,我們這里用max去實現

select * from tb select name,max(years)as years from tb group by name


第二種分組取不同數據且列符合要求的完整數據:有的時候我們想通過幾列分組,然后查看所有的數據

實現設想:我們先通過一個排序或者說一個規則去獲取到row_number(),然后再通過相同列獲取規則的最大row_number或者最小row_number,這時候我們要的規則數據到手,然后就是顯示所有列數據完整,通過之前的規則自關聯我們這個規則數據,就能夠獲取到我們想要的結果

select * from tb select tb3.* from (select name,min(rowId) as rowId from (select *,ROW_NUMBER()over(order by name)as rowId from tb ) as tb1 group by name) as tb2 inner join (select *,ROW_NUMBER()over(order by name)as rowId from tb)as tb3 on tb2.rowId = tb3.rowId

最后總結:數據庫基礎不算多,最主要 還是靈活運用。最后送上怎么獲取當月的第一天和當月的最后一天的實現

SELECT Convert(varchar(10),dateadd(dd,-datepart(dd,getdate())+1,getdate()) ,23) as [月初]SELECT Convert(varchar(10),dateadd(day,-day(getdate()),dateadd(month,1,getdate())),23) as [月末]

總結

以上是生活随笔為你收集整理的SqlServer分组取一瓢和月初月末的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。