开发者社区> 问答> 正文

分组数据运行

SQL专家

是否有使用SQL将数据运行分组在一起的有效方法? 还是用代码处理数据会更有效。

例如,如果我有以下数据:

ID|Name 01|Harry Johns 02|Adam Taylor 03|John Smith 04|John Smith 05|Bill Manning 06|John Smith 我需要显示以下内容:

Harry Johns Adam Taylor John Smith (2) Bill Manning John Smith @Matt:对不起,我无法使用在预览中有效但无法在最终显示中使用的嵌入式html表格格式化数据。

sql

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 17:41:42 415 0
1 条回答
写回答
取消 提交回答
  • 尝试这个:

    select n.name, (select count(*) from myTable n1 where n1.name = n.name and n1.id >= n.id and (n1.id <= ( select isnull(min(nn.id), (select max(id) + 1 from myTable)) from myTable nn where nn.id > n.id and nn.name <> n.name ) )) from myTable n where not exists ( select 1 from myTable n3 where n3.name = n.name and n3.id < n.id and n3.id > ( select isnull(max(n4.id), (select min(id) - 1 from myTable)) from myTable n4 where n4.id < n.id and n4.name <> n.name ) ) 我想那会做你想要的。虽然有点纠结。

    !经过几次编辑后,我认为我已经整理了所有边缘情况。

    2019-11-15 17:42:09
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多