陈ENTJ 2020-04-16 11:23 采纳率: 0%
浏览 113

在SQL中是不是有break on之后,再写compute或compute by都只显示一个结果集呀?(若没有break on,就会返回两个/多个结果集)

比如,题目:一个表中的ID有多个记录,把所有这个ID的记录查出来,并显示共有多少条记录数?

break on id skip 1
select *
from table
group by id
having count(id)>1
order by id
compute count label “COUNT” of id on id

加了break的例子:

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 01:23
    关注

    是的,你的理解是正确的。在SQL中使用break on时,只会显示一个结果集,无论是使用compute还是compute by都只会显示一个结果集。如果你想在break on之后显示多个结果集,可以使用多个break on语句或者不使用break on语句。针对你提到的问题,下面是一个可以使用的SQL代码示例:

    select id, count(*) as count
    from table
    group by id
    having count(id)>1
    
    union all
    
    select 'Total' as id, count(*) as count
    from table
    having count(id)>1
    

    在上面的示例中,我们使用了union all语句将两个结果集合并到一起,并在第一个结果集中统计了每个ID的记录数,而在第二个结果集中统计了所有记录的总数,并使用'Total'作为ID。

    评论

报告相同问题?

悬赏问题

  • ¥15 方程如何编到C语言!
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了