字段 | 注釋 |
---|---|
id | 主鍵 |
name | 商品名稱 |
price | 價格 |
level2 | 二級分類 |
level1 | 一級分類 |
INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0015', '洗發(fā)露', '36', '洗護', '日用品'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0008', '香皂', '17.5', '洗護', '日用品'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0007', '薯條', '7.5', '垃圾食品', '零食'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0009', '方便面', '3.5', '垃圾食品', '零食'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0004', '辣條', '5.6', '垃圾食品', '零食'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0006', 'iPhone X', '9600', '小電器', '電器'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0003', '手表', '1237.55', '小電器', '電器'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0012', '電視', '3299', '大電器', '電器'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0016', '洗衣機', '4999', '大電器', '電器'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0013', '圍巾', '93', '配飾', '服裝配飾'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0017', '特步?jīng)鲂?, '499', '鞋子', '服裝配飾'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0001', 'NIKE新款鞋', '900', '鞋子', '服裝配飾'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0002', '外套', '110.9', '上衣', '服裝配飾'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0014', '作業(yè)本', '1', '紙張', '文具'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0005', '鉛筆', '7', '筆', '文具'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0010', '水杯', '27', '餐飲', '日用品'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0011', '毛巾', '15', '洗護', '日用品'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0018', '繪圖筆', '15', '筆', '文具'); INSERT INTO "report2"("id", "name", "price", "level2", "level1") VALUES ('0019', '汽水', '3.5', '其它', '零食');
select t1.*, case when t_rank=t_count then t_count else null end as level1_row, case when tu_rank=tu_count then tu_count else null end as level2_row from ( select *, row_number() over(PARTITION by level1 order by level1 asc) t_rank, count(1) over (partition by level1) t_count, row_number() over(PARTITION by level1,level2 order by level1,level2 asc) tu_rank, count(1) over (partition by level1,level2) tu_count from report2 order by level1 ) t1 order by t1.level1,t_rank desc,t_count desc,tu_rank desc,tu_count desc;
_紅色_部分即為前端童鞋需要的合并數(shù)值哈🥰~
如果你能看懂以上問題及求解的 sql
,恭喜你又升級啦😂
總結(jié)下::對問題的分析✨
以及對問題求解的思考🤔
很重要嘛,當(dāng)然還包含對postgresql
所提供工具的靈活使用 👉 總會產(chǎn)生意想不到的驚喜,哈哈😘~
到此這篇關(guān)于postgresql高級應(yīng)用之合并單元格的思路詳解的文章就介紹到這了,更多相關(guān)postgresql合并單元格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:泰州 荊州 齊齊哈爾 海北 那曲 阜陽 通化 臨滄
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgresql高級應(yīng)用之合并單元格的思路詳解》,本文關(guān)鍵詞 postgresql,高級,應(yīng),用之,合并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。