第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

結合 Distinct 和 TOP 1 in Union | SQL 服務器 2012

結合 Distinct 和 TOP 1 in Union | SQL 服務器 2012

PHP
拉風的咖菲貓 2021-11-05 10:55:04
我有以下 SQL 查詢:SELECT DISTINCT LEFT (employeeidno, 4)deptcode from employeemasterfile ORDER BY deptcode ASC產(chǎn)生一個DISTINCT值D001toD051SELECT TOP 1 RIGHT (employeeidno, 7) empno from employeemasterfile  ORDER BY empno DESC 產(chǎn)生一個值 0000267我在這里試圖實現(xiàn)的是to 的每個DISTINCT值都應該產(chǎn)生它的值。D001D051TOP 1這就是我正在努力實現(xiàn)的目標。deptcode :D001; empno: 0000016deptcode :D002; empno: 0000024deptcode :D004; empno: 0000029deptcode :D005; empno: 0000020deptcode :D006; empno: 0000056deptcode :D007; empno: 0000164deptcode 將顯示所有唯一的 D001-D007,empno 將顯示每個唯一的 deptcode 的 TOP1。select deptcode, empno from(SELECT TOP 1 RIGHT (employeeidno, 7) empno from employeemasterfile  ORDER BY empno DESCUNIONSELECT DISTINCT LEFT (employeeidno, 4)deptcode from employeemasterfile ORDER BY deptcode ASC) resultsORDER BY deptcode不幸的是我不能這樣做,因為如果我要添加一個新參數(shù),UNION 將不起作用。我可以請你幫忙解決這個問題嗎?
查看完整描述

3 回答

?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

你可以這樣做GROUP BY LEFT(employeeidno, 4):


SELECT 

  LEFT(employeeidno, 4) deptcode,

  MAX(RIGHT(employeeidno, 7)) empno

FROM employeemasterfile

GROUP BY LEFT(employeeidno, 4)

ORDER BY LEFT(employeeidno, 4)


查看完整回答
反對 回復 2021-11-05
?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

你可以使用 row_number()


select deptcode,empno from

 ( select LEFT (employeeidno, 4) deptcode,

          RIGHT (employeeidno, 7) empno,

  row_number()over(partition by LEFT (employeeidno, 4) ordere by RIGHT (employeeidno, 7) desc)

 from employeemasterfile

) a where a.rn=1


查看完整回答
反對 回復 2021-11-05
?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

據(jù)我了解,聚合應該這樣做。


SELECT left(employeeidno, 4) deptcode,

       max(right(employeeidno, 7)) empno

       FROM employeemasterfile

       GROUP BY left(employeeidno, 4)

       ORDER BY left(employeeidno, 4);

編輯:


我會試著解釋一下:


您可以想象GROUP BY left(employeeidno, 4)將記錄集劃分為子集。在每個子集中l(wèi)eft(employeeidno, 4),即deptno是相同的,并且沒有兩個子集具有相同的deptno?,F(xiàn)在在每個子集中max(right(employeeidno, 7))取最大值right(employeeidno, 7)即最大值empno。(ORDER BY empno DESC將結果限制為一行TOP 1也會使您獲得最大值。)然后通過獲取deptno每個子集(即每個子集deptno)的 和最大值 來產(chǎn)生最終結果empno。


查看完整回答
反對 回復 2021-11-05
  • 3 回答
  • 0 關注
  • 188 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號