这个问题看似简单,其实很经典,需要用公式将表格中id 相同的行,变成同一行。然后再进行相减,公式是max(decode)连用,希望对你有帮助
成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为嘉黎企业提供专业的成都做网站、成都网站设计,嘉黎网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
可以使用表集合操作的相减运算操作符 minus ,意思是返回在第一个查询中存在但是在第二个查询中不存在的行,也就是 数学中的 2个集合的 差集运算, 例如
select * from text1
minus
select * from text2;
oracle database:
8 是代表要显示的行数.
28 是最中间显示的'*'个数.
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)