首页
/
每日頭條
/
圖文
/
王富貴的真實姓名
王富貴的真實姓名
更新时间:2025-12-15 16:30:39

背景:你們公司超級注重企業文化,要求大家要做好孩子多讀書,公司老闆叫王富貴,老闆娘叫張翠花,另有員工若幹人。

需求:領導要求搞一個員工讀書記錄排名,展示出每個員工所讀過的書都有啥?

分析:從這樣及其常見的一句話需求描述中,聰明的小趴菜你肯定知道,老闆肯定要排在最前面,然後應該是老闆娘,剩餘的普通員工按照姓名首字母排等等這些隐藏的需求。

方案:

首先給出數據建表腳本(Oracle)

CREATE TABLE T_BOOK_RECORD ( ID VARCHAR2(100) NOT NULL, USER_NAME VARCHAR2(100) NOT NULL, BOOK_NAME VARCHAR2(100) NOT NULL, CONSTRAINT T_BOOK_RECORD_PK PRIMARY KEY (ID) ); COMMENT ON TABLE T_BOOK_RECORD IS '閱讀記錄'; COMMENT ON COLUMN T_BOOK_RECORD.ID IS '主鍵'; COMMENT ON COLUMN T_BOOK_RECORD.USER_NAME IS '人員姓名'; COMMENT ON COLUMN T_BOOK_RECORD.BOOK_NAME IS '書籍名稱';

然後給出靈魂數據腳本

INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('1', '王富貴', '《如何合法罰款》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('2', '李加成', '《舔狗的自我修養》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('3', '孫正易', '《囚徒健身插圖版》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('4', '王絲匆', '《窮爸爸富爸爸》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('5', '趙僞', '《資本遊戲》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('6', '王富貴', '《人家大愛-996福報》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('7', '張翠花', '《拴住老公的胃》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('8', '張翠花', '《老闆娘不是老闆的娘》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('9', '李加成', '《老子明天不上班》'); INSERT INTO T_BOOK_RECORD (ID, USER_NAME, BOOK_NAME) VALUES('10', '王絲匆', '《投胎那些事》');

你最開始可能想到的方法
  • 首先,按照姓名排序查出所有數據

SELECT USER_NAME ,BOOK_NAME FROM T_BOOK_RECORD ORDER BY NLSSORT(USER_NAME,'NLS_SORT = SCHINESE_PINYIN_M')

得到結果如下:

王富貴的真實姓名(王富貴企業文化之姓名排序)1

  • 然後,通過代碼篩選出老闆王富貴和老闆娘張翠花的數據依次塞到一個集合裡

public List<BookRecord> list(){ List<BookRecord> boss = new ArrayList<>(); List<BookRecord> bossWife = new ArrayList<>(); List<BookRecord> nobody = new ArrayList<>(); for(BookRecord br : list){ if ("王富貴".equals(br.getUserName())){ boss.add(br); }else if ("張翠花".equals(br.getUserName())){ bossWife.add(br); }else { nobody.add(br); } } boss.addAll(bossWife); boss.addAll(nobody); return boss; }

其實也可以一個并不複雜的SQL直接實現

SELECT * FROM T_BOOK_RECORD ORDER BY decode(USER_NAME,'王富貴',1,'張翠花',2) ,NLSSORT(USER_NAME,'NLS_SORT = SCHINESE_PINYIN_M')

得到結果如下:

王富貴的真實姓名(王富貴企業文化之姓名排序)2

這裡主要有以下幾個知識點:

  • 字段按照拼音字母排序

SELECT * FROM T_BOOK_RECORD ORDER BY NLSSORT(USER_NAME,'NLS_SORT = SCHINESE_PINYIN_M')

  • 動态處理函數decode(),這個有點類似三目運算表達式

DECODE(USER_NAME,'王富貴',1,'張翠花',2),這個代表,如果USER_NAME='王富貴',函數返回1,如果USER_NAME='張翠花',函數返回2,這個函數的返回值是優先級最高的排序條件

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
  睡前15秒瘦大腿操輕松燃脂   大腿好難瘦?大腿是很多女生公認最難減的位置,鏟除肥厚馬鞍肉、松垮大腿肉,天天做瘦腿操,2步驟就能燃燒深層脂肪,幫助鍛煉腿部肌肉!      繁忙的日常生活之中,總為了家庭、工作以及育兒等等蠟燭多頭燒,天天長時間在辦公室裡前傾盯着電腦,或是久站服務客人,導緻雖然身心疲勞,身體卻因為缺乏活動而血液循環不良,再加上不敵歲月流逝,...
2025-12-15
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
強化源頭管控消除火災隐患(推動多部門加強日常監管消除火災隐患)
     近日,上海市嘉定區檢察院督促該區市場監督管理局對違法改裝電動自行車履行行政監管職責的公益訴訟案例,因與公共安全相關度高,受到市民廣泛關注,獲評上海市檢察機關2020年度公益訴訟十大典型案例。   事情要從2020年5月說起。上海市檢察院經調研發現,電動自行車充電引發的火災次數日趨增加,影響公衆安全,遂在該市檢察機關開展電動自行車充電安全管理領域公益...
2025-12-15
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
  今天,有媒體曝光了一組近日聶遠與妻子秦子越一同回京的照片中。夫妻倆戴着口罩、帽子低調現身,全程雙手緊握,小動作恩愛又甜蜜,在機場默默地秀了一波恩愛~      去年,聶遠憑借《延禧攻略》、《皓镧傳》這兩部熱播劇再次翻紅,也收獲了“大豬蹄子”的稱号。雖然在戲中是“大豬蹄子”,但到了劇外,聶遠卻是一位對妻子、女兒極盡寵愛的好丈夫,好爸爸。      當天,聶...
2025-12-15
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
  在看到 4 個月的比利牛斯犬 Angus 和活 潑的澳大利亞牧羊犬 Miller 之後,就知 道快到 Darrell Scott 的家了,兩隻狗狗會在 石子路上蹦蹦跳跳,伸出舌頭,搖着尾巴。它 們本是用來看護羊群,免受納什維爾東部 100 公裡之外在坎伯蘭高原林區的山上四處覓食的 土狼和野豬的侵擾,不過不論何時,隻要有人來, 它們都會非常高興。小狗會馬上...
2025-12-15
金瀚把李一桐按進蛋糕(烏雲遇皎月李一桐曾可妮平分秋色)
金瀚把李一桐按進蛋糕(烏雲遇皎月李一桐曾可妮平分秋色)
  #頭條創作挑戰賽#   《烏雲遇皎月》正在熱播中,該劇集合了懸疑、愛情、浪漫、奇幻等元素,主要講述了學霸修理工與懸疑推理女作家的愛情故事。   《烏雲遇皎月》改拍自丁墨的原著小說,男主邬遇(金瀚飾演)與譚皎(李一桐飾演)在一次郵輪旅行中相遇,二人一見鐘情。旅行結束後,譚皎和邬遇的部分記憶缺失,邬遇失去了幾天的記憶,而譚皎失去了一年前的記憶。      譚...
2025-12-15
Copyright 2023-2025 - www.tftnews.com All Rights Reserved