SQL 中的循环行

2023-12-22

我正在寻找类似的输出:

[最近]日期:评论,[第二个最近]日期:评论,...

Example:

Book    Comments
BookA   27/03/13: comment1, 21/03/13: comment2, 21/03/13: uhuuuu [and so on]
BookB   21/03/13: comment2a, 18/03/13: xxx comments

SQL小提琴 http://sqlfiddle.com/#!6/6d24a/2

MS SQL Server 2012 架构设置:

CREATE TABLE books 
    (
     book varchar(10), 
     comments varchar(20),
     datewww datetime

    );

INSERT INTO books
(book, comments, datewww)
VALUES
('BookA', 'comment1', '2013-03-27 10:30:00.000'),
('BookA', 'comment2', '2013-03-21 09:31:00.000'),
('BookA', 'comentx', '2013-03-10 08:31:00.000'),
('BookA', 'Text test', '2013-02-15 07:41:00.000'),
('BookA', 'uhuuuu', '2013-03-21 07:31:00.000'),
('BookB', 'comment2a', '2013-03-21 09:31:00.000'),
('BookB', 'xxx comments', '2013-03-18 09:31:00.000');

Query 1:

SELECT
  book,
  CONVERT(VARCHAR, datewww, 3) + ': ' + comments + ', '
FROM books

Results http://sqlfiddle.com/#!6/6d24a/2/0:

|  BOOK |                 COLUMN_1 |
|-------|--------------------------|
| BookA |     27/03/13: comment1,  |
| BookA |     21/03/13: comment2,  |
| BookA |      10/03/13: comentx,  |
| BookA |    15/02/13: Text test,  |
| BookA |       21/03/13: uhuuuu,  |
| BookB |    21/03/13: comment2a,  |
| BookB | 18/03/13: xxx comments,  |

SQL小提琴 http://sqlfiddle.com/#!6/6d24a/6

SELECT book,
       Stuff((SELECT ', ' + ltrim(rtrim(CONVERT(VARCHAR, datewww, 3) + ': ' + comments))
              FROM   books t2 
              WHERE  t2.book = t1.book
              order by datewww desc
               FOR XML PATH(''), TYPE
                   ).value('.','varchar(max)')
                   ,1,2, '') [comments] 
FROM   books t1 
GROUP  BY book 

Results http://sqlfiddle.com/#!6/6d24a/6/0:

|  BOOK |                                                                                          comments |
|-------|--------------------------------------------------------------------------------------------------|
| BookA | 27/03/13: comment1, 21/03/13: comment2, 21/03/13: uhuuuu, 10/03/13: comentx, 15/02/13: Text test |
| BookB | 21/03/13: comment2a, 18/03/13: xxx comments |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 中的循环行 的相关文章

随机推荐

  • 如何创建多表检查约束?

    请想象一下这个小数据库 Diagram 删除了无效的 ImageShack 链接 志愿者数据库图 Tables Volunteer Event Shift EventVolunteer Id Id Id EventId Name Name
  • 获取 PHP DOM 中节点的文本

    如何使用 PHP DOM 从此标记中提取字符串 text div span notthis span text div div gt nodeValue包括 notthis 您可以访问DOMText直接使用 XPath 的节点 xpath
  • 如何在多进程和多线程环境中生成随机唯一标识符?

    我提出的每个解决方案都不是线程安全的 def uuid cls db u hexlify os urandom 8 decode ascii db execute SELECT sid FROM sessions WHERE sid u i
  • primeng:把重点放在控制上

    抱歉这个菜鸟问题 使用 primeng 包时 将焦点设置在控件上的推荐方法是什么 使用传统输入控件时 我设置一个表单变量 variable 并使用 ViewChild 获取对它的引用 以便我可以访问其本机元素 this variable n
  • 如何在 MySQL 中的 instr() 中使用区分大小写?

    可能重复 如何在 MySQL 的 instr 中应用通配符 https stackoverflow com questions 1905119 how to apply wildcard in instr in mysql 可能的重复链接显
  • 按一列分组并显示另一列的所有结果

    大家好 我正在尝试解决这个问题 但找不到解决方案 我有 2 列 正在尝试按第一列进行选择和分组 并显示第二列中的所有记录 我的桌子是 RegNo Name C117 Mariya Mathew C117 Baino Baby C117 Ma
  • SqlLocalDb 中的 Service Broker 或 SqlDependency?

    Is SqlDependency支持于SqlLocalDb 如果是的话如何启用 回答您主题中有关 Service Broker 的问题 Service Broker 在 LocalDB 中应该可以正常工作 但只有本地队列可用 远程队列在任一
  • CSS Reset 与 * 通配符

    为什么我不能简单地重置 margin 0 padding 0 font size 100 代替 html body div span object iframe h1 h2 h3 h4 h5 h6 p blockquote pre abbr
  • Java 解压缩实用程序的性能不佳

    我注意到 与使用 WinZip 等本机工具相比 Java 中的解压缩工具非常慢 有没有更高效的 Java 第三方库 开源是首选 Edit 以下是使用 Java 内置解决方案与 7zip 的速度比较 我在原来的解决方案中添加了缓冲输入 输出流
  • C# 中的引用传递到底是如何工作的?

    我想知道 C 中的引用传递是如何工作的 如果我通过引用函数传递 WPF DataGrid 控件 并慢慢让该函数将项目添加到其 DataGrid Items 集合中 则 UI 中的 DataGrid 是否会随着每个新的 DataGrid It
  • 在 navbar-fixed-top 之前添加标题图像

    如何添加标题图像 使其显示在导航栏固定顶部的顶部 当用户向下滚动时 导航栏会粘在顶部吗 我尝试将其添加到容器中 但它没有按预期工作 到目前为止 这是我的代码
  • 如何更新具有特定列名的所有表

    我正在尝试更新以 agg 和column name userid 等字符串开头的所有表 但我在网上没有看到任何此类示例 即使我能够找到选择具有特定列名称和表名称的所有表的选项 我也需要执行相同的操作来更新这些表 如下所示 update TA
  • T SQL 分组时选择最小和最大行

    假设我有一个包含很多行的表 如下所示 ID Range Range begining Profit 1 100 150 100 20 2 200 250 200 40 2 3 100 150 100 100 4 450 500 450 90
  • 使用 boost::numpy::ndarray 时出现分段错误

    当我试图通过时 我发现了一个奇怪的段错误boost numpy ndarray作为一个论点 include
  • 从 lxml 获取内部文本

    lxml html fromstring 坚持将所有内容包装在标签中 p默认 从这个标签树来看 p this is b the b good stuff p p 我想提取字符串 this is b the b good stuff 我该怎么
  • 在 Javascript (Meteor) 中将字符串转换为 Mongo ObjectID

    我有一个 Meteor 应用程序 最初我使用 id在我的模板中命名列表项时 我的集合中每条记录的字段 当得到 id字段 我将其转换为字符串以在模板中使用 现在我想更新 Mongo 中的这些记录并传递 id回到一个Meteor method
  • 获取本地文件的内容而不上传[重复]

    这个问题在这里已经有答案了 我正在编写一个离线网络应用程序 允许用户选择本地文件 修改它 然后也在本地保存副本 是否可以在没有任何服务器的情况下 我可以上传文件并返回其base64 但它不是离线的 应用程序只需要在 Google Chrom
  • 使用 Nginx 在单个域上运行多个 React 应用程序

    谁能推荐一个最佳实践 nginx 配置来在单个域上运行多个 React 应用程序 这些应用程序将从不同的根目录提供服务 因此 app1 和 app2 在 www domain com 上运行并获得服务 www domain com app1
  • 如何查看查询执行成功与否?

    我正在使用 codeigniter 2 0 2 这是来自它的用户指南 data array title gt title name gt name date gt date this gt db gt where id id this gt
  • SQL 中的循环行

    我正在寻找类似的输出 最近 日期 评论 第二个最近 日期 评论 Example Book Comments BookA 27 03 13 comment1 21 03 13 comment2 21 03 13 uhuuuu and so o