mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书
在企業(yè)ERP中,每位員工擁有多個資質(zhì)證書,資質(zhì)證書有種類、名稱和登記時間,以及變動時間和結(jié)束時間的主要屬性;現(xiàn)在有一個需求,員工在系統(tǒng)查看自己的信息之時:同一種類、同一名稱、同一登記時間的資質(zhì)證書,取變動時間最近的顯示出來,其余的不顯示。
數(shù)據(jù)源:SAP生產(chǎn)系統(tǒng)通過RPC的方式獲取;
正文
下面是表的主要結(jié)構(gòu)(手機(jī)顯示可能存在換上現(xiàn)象):
這個地方如果給最新的那條記錄,加一個標(biāo)識,比如加個字段顯示x,過濾的時候用sql直接出結(jié)果,挺方便的,我問過SAP開發(fā)的同事:no;
思路
代碼沒有新穎的,只說一下我的思路(也可能有些問題):
1、首先用MySQL語句GROUP BY 已經(jīng)三個字段的結(jié)果分組;分組的結(jié)果:按照需求將數(shù)據(jù)分成一組一組的,每組中的數(shù)據(jù)并按照變動時間,最新的在上面(也就是符合要求的那一條,在最上面)
2、Java代碼拿到數(shù)據(jù)集,進(jìn)行處理;
3、剛才上面說了,第一條是符合要求的,就遍歷數(shù)據(jù)集,每組的數(shù)據(jù)集,用List的特點,將所有元素置為相同的元素,與第一條保持一致;
4、去重;
通過簡單的方式,實現(xiàn)了這個小的需求;
總結(jié)
總結(jié)成簡單的話,
1、先分組,分組的數(shù)據(jù)按照時間降序排列;
2、再用Java代碼處理List,將list的元素用遍歷的方式將值設(shè)置為一致;
3、將list去重;
【推薦課程:MySQL教程】
總結(jié)
以上是生活随笔為你收集整理的mysql资质_MySQL语句与Java代码实现按需过滤企业员工的资质证书的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 定义一组常量用什么最好_Jav
- 下一篇: 2017java最新面试题_2017年最