日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Partition By 子句可用于提高查詢性能。它降低了存儲需求,并提高了數據可管理性。通過對大表進行分區,可以更快地執行僅訪問一小部分數據的查詢。分區還可以縮短備份和恢復時間。在本文中,我們將通過語法和各種示例討論 MySQL 中的 Partition By 子句。

簡介

PARTITION BY 子句的目的是將表的行分組到單獨的分區中。當使用同一分區中的其他行對分區內的特定行執行計算時,這特別有用。

PARTITION BY 子句必須始終在 OVER() 子句中使用。 PARTITION BY 子句創建的分區也稱為窗口。該子句專門對 RANK()、LEAD() 和 LAG() 等窗口函數進行操作。

如果從 OVER() 子句中排除 PARTITION BY 子句,則整個表將被視為單個分區。

語法

Window_function ( expression )
   Over ( partition by expr [order_clause] [frame_clause] )

登錄后復制

order_clause 和frame_clause 是語法的可選組件。

在 MySQL 中,Partition 子句中的表達式可以是列名,也可以是內置函數。但是,在標準 SQL 中,表達式中只允許使用列名稱。

示例

讓我們以“Hacker”表為例 –

h_id

h_name

challenge_id

分數

3

拉朱

111

20

2

密斯萊什

111

80

5

樓陀羅

112

40

5

莫漢

114

90

4

洛汗

112

30

1

索漢

112

40

我們需要確定每個挑戰中每個黑客的排名。換句話說,我們必須列出所有參與挑戰的黑客以及他們在該挑戰中各自的排名。

為了實現此目的,我們使用以下查詢:

select challenge_id, h_id, h_name, score,
dense_rank() over ( partition by challenge_id order by score desc )
as "rank", from hacker;

登錄后復制

在此查詢中,partition by 子句按challenge_id 對表進行分組。

order by 子句按照得分降序對每個分區中的黑客進行排序。

over() 子句指定如何對窗口函數rank() 的表行進行分區和排序。

窗口函數dense_rank()為挑戰的有序分區中的每個黑客分配一個等級。如果兩個黑客得分相同,則他們被分配相同的排名。

結果輸出顯示所有黑客的列表以及他們在每個挑戰中各自的排名 –

challenge_id

h_id

h_name

分數

排名

111

2

密斯萊什

80

1

111

3

拉朱

20

2

112

樓陀羅

40

1

112

1

索漢

40

1

112

4

洛汗

30

2

114

5

莫漢

90

1

因此,我們成功獲得了所有黑客的列表以及他們在每個單獨挑戰中的排名。

PARTITION BY 子句的使用

    將表的行分組到單獨的分區中,以便對分區內的特定行執行計算。

    降低存儲要求并提高數據可管理性。

    通過更快地執行僅訪問一小部分數據的查詢來提高查詢性能。

    縮短備份和恢復時間。

    結論

    MySQL 中的 PARTITION BY 子句是一個有用的工具,用于將表的行分組到單獨的分區中,從而提高查詢性能并減少存儲需求。該子句專門對 RANK()、LEAD() 和 LAG() 等窗口函數進行操作。語法很簡單,并且允許子句中使用的表達式類型具有靈活性。上面的示例演示了 PARTITION BY 子句在計算每個客戶的銷售總額時的功能。通過利用這一強大的功能,用戶可以優化數據庫性能并提高數據可管理性。

    以上就是MySQL PARTITION BY 子句的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:MySQL partition 子句
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定