這個問題看似簡單,其實很經(jīng)典,需要用公式將表格中id 相同的行,變成同一行。然后再進行相減,公式是max(decode)連用,希望對你有幫助
成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為嘉黎企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設計,嘉黎網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
可以使用表集合操作的相減運算操作符 minus ,意思是返回在第一個查詢中存在但是在第二個查詢中不存在的行,也就是 數(shù)學中的 2個集合的 差集運算, 例如
select?*?from?text1?
minus?
select?*?from?text2;
oracle database:
8 是代表要顯示的行數(shù).
28 是最中間顯示的'*'個數(shù).
SELECT CASE
WHEN rn = 8 / 2 THEN
lpad('*', 28 - rn, '*')
ELSE
lpad('*', rn + 28 - 8, '*')
END "*"
FROM (SELECT rownum rn FROM dual CONNECT BY rownum 8)