- Mastering PostgreSQL 9.6
- Hans Jurgen Schonig
- 164字
- 2021-07-09 19:57:25
Understanding hypothetical aggregates
Hypothetical aggregates are pretty similar to standard ordered sets. However, they help to answer a different kind of question: what would be the result if a value was there? As you can see, this is not about values inside the database but about the result, if a certain value was actually there.
The only hypothetical function provided by PostgreSQL is rank. It tells us:
test=# SELECT region,
rank(9000) WITHIN GROUP
(ORDER BY production DESC NULLS LAST)
FROM t_oil
GROUP BY ROLLUP (1);
region | rank
---------------+------
Middle East | 21
North America | 27
| 47
(3 rows)
If somebody produced 9000 barrels per day, it would be the 27 best year in North America and 21 in the Middle East.
Note that in my example, I used NULLS LAST. When data is sorted, nulls are usually at the end. However, if sort order is reversed, nulls should still be at the end of the list. NULLS LAST ensures exactly that.
推薦閱讀
- Mastering Proxmox(Third Edition)
- Machine Learning for Cybersecurity Cookbook
- 人工免疫算法改進(jìn)及其應(yīng)用
- 空間機(jī)器人遙操作系統(tǒng)及控制
- Visual C# 2008開發(fā)技術(shù)詳解
- 現(xiàn)代機(jī)械運(yùn)動(dòng)控制技術(shù)
- DevOps Bootcamp
- 氣動(dòng)系統(tǒng)裝調(diào)與PLC控制
- 經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)
- MPC5554/5553微處理器揭秘
- 網(wǎng)頁設(shè)計(jì)與制作
- 數(shù)據(jù)結(jié)構(gòu)與算法(C++語言版)
- 局域網(wǎng)組建與使用完全自學(xué)手冊(cè)
- Azure Serverless Computing Cookbook
- R Data Visualization Recipes