jjzjj

mysql - 将页脚行作为一组行的标题行

coder 2023-10-16 原文

我有如下表格:

 rfa_yea | rfa_idx |                      rfa_dsp                       | rfa_tpr
---------+---------+----------------------------------------------------+---------
 2013    |       1 | PIGATO VERM.NO/ROSS/ORMEASCO CL75                  | A
 2013    |       2 | ESTATE\134134134047 BICCHIERE SING.VERDE           | A
 2013    |       3 | Rif. Trn. N. 17 del 17/04/2013 Cassa N. 00001      | C
 2013    |       4 | BIB.RED BULL LAT.CL25 ENER.DRI                     | A
 2013    |       5 | BIB.RED BULL LAT.CL25 ENER.DRI                     | A
 2013    |       6 | SHOPPER 30X60 MAXI X 1000                          | A
 2013    |       7 | SHOPPER HD 27X50 MEDIE X 1000                      | A
 2013    |       8 | PIGATO VERM.NO/ROSS/ORMEASCO CL75                  | A
 2013    |       9 |  * SCONTO SUBTOTALE                                | A
 2013    |      10 | Rif. Trn. N. 19 del 17/04/2013 Cassa N. 00001      | C

字段 rfa_tpr 标记为 'C' 的记录是它之前的行组的标题。我需要将该行作为行组的标题而不是目前的页脚(分隔符),所以我想检索如下结果集:

 rfa_yea | rfa_idx |                      rfa_dsp                       | rfa_tpr
---------+---------+----------------------------------------------------+---------
 2013    |       3 | Rif. Trn. N. 17 del 17/04/2013 Cassa N. 00001      | C
 2013    |       1 | PIGATO VERM.NO/ROSS/ORMEASCO CL75                  | A
 2013    |       2 | ESTATE\134134134047 BICCHIERE SING.VERDE           | A
 2013    |      10 | Rif. Trn. N. 19 del 17/04/2013 Cassa N. 00001      | C
 2013    |       4 | BIB.RED BULL LAT.CL25 ENER.DRI                     | A
 2013    |       5 | BIB.RED BULL LAT.CL25 ENER.DRI                     | A
 2013    |       6 | SHOPPER 30X60 MAXI X 1000                          | A
 2013    |       7 | SHOPPER HD 27X50 MEDIE X 1000                      | A
 2013    |       8 | PIGATO VERM.NO/ROSS/ORMEASCO CL75                  | A
 2013    |       9 |  * SCONTO SUBTOTALE                                | A

是否有仅使用 SQL 的解决方案?该解决方案应该适用于以下每种数据库服务器:MSSQL、PostgreSQL 和 MySQL。

注意

我可以有多个分隔符(页脚)行,而不是示例中的两个......

最佳答案

SELECT a.rfa_yea ,
        a.rfa_idx ,
        a.rfa_dsp ,
        a.rfa_tpr
FROM table1 a
INNER JOIN table1 c ON a.rfa_idx <= c.rfa_idx AND c.rfa_tpr = 'C'
GROUP BY  a.rfa_yea ,
        a.rfa_idx ,
        a.rfa_dsp ,
        a.rfa_tpr
ORDER BY MIN(c.rfa_idx), a.rfa_tpr DESC, a.rfa_idx 

SQL Server Demo

MySQL Demo

PostgreSQL Demo

关于mysql - 将页脚行作为一组行的标题行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077696/

有关mysql - 将页脚行作为一组行的标题行的更多相关文章

  1. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  2. ruby-on-rails - 使用 Rmagick 或 ImageMagick 在背景上放置标题 - 2

    我有一张背景图片,我想在其中添加一个文本框。我想弄清楚如何将标题放置在其顶部的正确位置。(我使用标题是因为我需要自动换行功能)。现在,我只能让文本显示在左上角,但我需要能够手动定位它的开始位置。require'RMagick'require'Pry'includeMagicktext="Loremipsumdolorsitamet"img=ImageList.new('template001.jpg')img 最佳答案 这是使用convert的ImageMagick命令行的答案。如果你想在Rmagick中使用这个方法,你必须自己移植

  3. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  4. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  5. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  6. ruby-on-rails - 应用程序的名称是否可以作为变量使用? - 2

    当我创建一个Rails应用程序时,控制台:railsnewfoo我的代码可以使用字符串“foo”吗?puts"Yourapp'snameis"+app_name_bar 最佳答案 Rails.application.class将为您提供应用程序的全名(例如YourAppName::Application)。从那里您可以使用Rails.application.class.parent获取模块名称。 关于ruby-on-rails-应用程序的名称是否可以作为变量使用?,我们在StackOve

  7. ruby-on-rails - 使用作为方法的值在 ruby​​ 中搜索哈希 - 2

    我在搜索我的值是方法的散列时遇到问题。我只是不想运行plan_type与键匹配的方法。defmethod(plan_type,plan,user){foo:plan_is_foo(plan,user),bar:plan_is_bar(plan,user),waa:plan_is_waa(plan,user),har:plan_is_har(user)}[plan_type]end目前如果我传入“bar”作为plan_type,所有方法都会运行,我怎么能只运行plan_is_bar方法呢? 最佳答案 这个变体怎么样?defmethod

  8. ruby - 无法在 Ruby 中将 ffmpeg 作为子进程运行 - 2

    我正在尝试使用以下代码通过将ffmpeg实用程序作为子进程运行并获取其输出并解析它来确定视频分辨率:IO.popen'ffmpeg-i'+path_to_filedo|ffmpegIO|#myparsegoeshereend...但是ffmpeg输出仍然连接到标准输出并且ffmepgIO.readlines是空的。ffmpeg实用程序是否需要一些特殊处理?或者还有其他方法可以获得ffmpeg输出吗?我在WinXP和FedoraLinux下测试了这段代码-结果是一样的。 最佳答案 要跟进mouviciel的评论,您需要使用类似pope

  9. ruby-on-rails - 无法安装 mysql2 0.3.14 gem - 2

    我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby​​目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin

  10. ruby - 如何跳过 CSV 文件的第一行并将第二行作为标题 - 2

    有没有办法跳过CSV文件的第一行,让第二行作为标题?我有一个CSV文件,第一行是日期,第二行是标题,所以我需要能够在遍历它时跳过第一行。我尝试使用slice但它会将CSV转换为数组,我真的很想将其读取为CSV,以便我可以利用header。 最佳答案 根据您的数据,您可以使用另一种方法和skip_lines-option此示例跳过所有以#开头的行require'csv'CSV.parse(DATA.read,:col_sep=>';',:headers=>true,:skip_lines=>/^#/#Markcomments!)do|

随机推荐