我已经搜索了很长时间,但似乎找不到适合我的东西,因为每个类似的问题都是关于达到一定的列总和。
我正在寻找一种方法来搜索表中所有具有多个公共(public)列值的记录 - 它们不是表中的连续记录,但在考虑公共(public)值时它们必须是连续记录 - 并检索所有记录,直到一个特定列具有不同的值。
给定数据:
PrimaryID SecondaryID TertiaryID Limit DateTime
12 9 4 1 2013-03-22 00:00:14
11 9 4 1 2013-03-22 00:00:13
10 54 11 0 2013-03-22 00:00:12
9 9 4 1 2013-03-22 00:00:11
8 9 23 1 2013-03-22 00:00:10
7 9 4 1 2013-03-22 00:00:09
6 9 4 0 2013-03-22 00:00:08
5 9 16 0 2013-03-22 00:00:07
4 72 32 0 2013-03-22 00:00:06
3 9 4 1 2013-03-22 00:00:05
2 9 4 1 2013-03-22 00:00:04
1 9 4 0 2013-03-22 00:00:03
我正在尝试检索 SecondaryID=9 和 TertiaryID=4 的记录,直到 Limit=0(按 DateTime DESC 排序)。
使用 PrimaryID 12 作为起点,我希望得到以下结果:
PrimaryID SecondaryID TertiaryID Limit DateTime
12 9 4 1 2013-03-22 00:00:14
11 9 4 1 2013-03-22 00:00:13
9 9 4 1 2013-03-22 00:00:11
7 9 4 1 2013-03-22 00:00:09
并以 PrimaryID 3 为起点:
PrimaryID SecondaryID TertiaryID Limit DateTime
3 9 4 1 2013-03-22 00:00:05
2 9 4 1 2013-03-22 00:00:04
目前,我正在检索 SecondaryID=9 和 TertiaryID=4 的每个结果,然后在 PHP 中对其进行循环 - 目前有数百个结果(并且每周都在增长),在生产中工作速度太慢。
最佳答案
我意识到我一直在以错误的方式进行此查询。
我不需要从数据中的给定点“向后计数”来查看 Limit 何时按顺序首次变为 =1,而是需要查找之前出现的 Limit=0,然后向前查询直到我的初始 PrimaryID。
包含我需要的所有内容的结果查询是
SELECT * FROM table1 WHERE SecondaryID='9' AND TertiaryID='4' AND `Limit`='1' AND PrimaryID<='3' AND `DateTime`>= (SELECT `DateTime` FROM table1 WHERE SecondaryID='9' AND TertiaryID='4' AND `Limit`='0' AND PrimaryID<='3' ORDER BY `DateTime` DESC LIMIT 1) ORDER BY `DateTime` DESC
关于mysql - 从表中选择直到找到给定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563127/
我有一个驼峰式字符串,例如:JustAString。我想按照以下规则形成长度为4的字符串:抓取所有大写字母;如果超过4个大写字母,只保留前4个;如果少于4个大写字母,则将最后大写字母后的字母大写并添加字母,直到长度变为4。以下是可能发生的3种情况:ThisIsMyString将产生TIMS(大写字母);ThisIsOneVeryLongString将产生TIOV(前4个大写字母);MyString将生成MSTR(大写字母+tr大写)。我设法用这个片段解决了前两种情况:str.scan(/[A-Z]/).first(4).join但是,我不太确定如何最好地修改上面的代码片段以处理最后一种
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
文章目录一、概述简介原理模块二、配置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
如何找到调用此方法的位置?defto_xml(options={})binding.pryoptions=options.to_hifoptions&&options.respond_to?(:to_h)serializable_hash(options).to_xml(options)end 最佳答案 键入caller。这将返回当前调用堆栈。文档:Kernel#caller.例子[0]%rspecspec10/16|===================================================62=====
我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。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
我使用的第一个解析器生成器是Parse::RecDescent,它的指南/教程很棒,但它最有用的功能是它的调试工具,特别是tracing功能(通过将$RD_TRACE设置为1来激活)。我正在寻找可以帮助您调试其规则的解析器生成器。问题是,它必须用python或ruby编写,并且具有详细模式/跟踪模式或非常有用的调试技术。有人知道这样的解析器生成器吗?编辑:当我说调试时,我并不是指调试python或ruby。我指的是调试解析器生成器,查看它在每一步都在做什么,查看它正在读取的每个字符,它试图匹配的规则。希望你明白这一点。赏金编辑:要赢得赏金,请展示一个解析器生成器框架,并说明它的
基本上,我只是试图在满足特定条件时停止程序运行其余行。unlessraw_information.firstputs"Noresultswerereturnedforthatquery"breakend然而,在程序运行之前我得到了这个错误:Invalidbreakcompileerror(SyntaxError)执行此操作的正确方法是什么? 最佳答案 abort("Noresultswerereturnedforthatquery")unlesscondition或unlessconditionabort("Noresultswer
我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi
我有一个ids和他们的分数的散列,它是这样的:@objects={1=>57,4=>12,3=>9,5=>3,55=>47,32=>39,17=>27,29=>97,39=>58}我怎样才能选出前五名并放弃其余的?我这样做:@orderedObject=@objects.sort_by{|k,v|v}.reverse=>[[29,97],[39,58],[1,57],[55,47],[32,39],[17,27],[4,12],[3,9],[5,3]]然后我这样做:只有@orderedObjects的键:@keys=@orderedObject.map{|key,value|key}这
我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT