使用sql進對資料庫表資料進行先分組後排序

2021-10-24 16:34:11 字數 1227 閱讀 4553

在實際業務中,有一些場景需要對一組列表資料先分組後然後組內排序,這時不能單純的使用傳統的group byorder by語句了,因為會提示***x欄位必須在group by聚合函式中,為了解決此問題,我們可以使用row_number ( ) over ( partition by 分組字段 order by 排序字段 desc語句。

需求:根據建立人分組後再按照建立時間降序排序

1、使用傳統的group byorder by語句

select

*from

"tbblayeritem"

where

layerid =

'b5ee3362-5972-4d48-bcf5-828023ca665b'

group

by creator

order

by createtime desc

提示錯誤

錯誤:  字段 "tbblayeritem.itemid" 必須出現在 group

by 子句中或者在聚合函式中使用

2、使用row_number ( ) over ( partition by 分組字段 order by 排序字段 desc語句

select*,

row_number (

)over

(partition

by creator order

by createtime desc

)from

tbblayeritem

where

layerid =

'b5ee3362-5972-4d48-bcf5-828023ca665b'

結果

使用 zebra 對資料庫表進行水平拆分

zebra 是美團點評開發的資料庫訪問層中介軟體,維護在 github meituan dianping zebra zebra是乙個基於jdbc api協議上開發出的高可用 高效能的資料庫訪問層解決方案,是美團點評內部使用的資料庫訪問層中介軟體。具有以下的功能點 zebra 的 quickstar...

sql語句對資料庫表進行加鎖和解鎖

鎖是資料庫中的乙個非常重要的概念,它主要用於多使用者環境下保證資料庫完整性和一致性。我們知道,多個使用者能夠同時操縱同乙個資料庫中的資料,會發生資料不一致現象。即如果沒有鎖定且多個使用者同時訪問乙個資料庫,則當他們的事務同時使用相同的資料時可能會發生問題。這些問題包括 丟失更新 髒讀 不可重複讀和幻...

對資料庫進行操作

對資料庫進行操作 一 ddl 資料庫定義語言 對資料庫 表結構進行操作 建庫 建表 修改表結構 刪庫 刪表等等 sql語句大小寫不敏感 1.建立資料庫 2.顯示所有的資料庫 3.切換到要使用的資料庫,use 資料庫名稱 4.4.刪除資料庫 drop database if exists 資料庫名 5...