MySQL或Rails中在特定日期范围内获取每日平均值的最佳方法

我试图在Rails中绘制一个图表,例如给定日期范围内每天的平均销售额 假设我有一个products\u Seld模型,它具有“sales\u price”浮动属性。但是,如果某一天没有销售(例如在model/db中没有),我只想返回0 MySQL/Rails中实现这一点的最佳方法是什么?我知道我可以做这样的事情: | avg | date | 23 01-03-2009 50 01-05-2009 34 01-07-2009 ... .

Sql 如何一次删除所有ms access表中的数据?

在MS Access中是否有一种方法可以一次删除所有表中的数据。我们在access中运行数据库,每月保存数据,然后删除access中的所有数据。但它需要从许多表中删除数据。有没有更简单/更容易的方法呢?为什么不在手边放一份数据库的空副本呢。在月底,保存现有数据库,然后将空数据库复制到原来的位置。由于这是一个重复操作,因此最好使用一个简单的SQL脚本来执行此操作 DELETE FROM <table1>; DELETE FROM <table2>; ... DELETE F

SQL和存储过程中的多个语句

我正在使用SQL server 2005,我有一个非常简单的存储过程: create PROCEDURE [dbo].[tblTabel_Insert] @ID int, @Code nvarchar(50) = null AS SET NOCOUNT ON; IF EXISTS (SELECT ID, code FROM tblTabel WHERE ID = @ID and code = @Code) UPDATE tblTabel SET ID = @ID,co

mysql选择数据

我有两个表,产品和产品标签 产品表 product_id int name varchar description text price decimal(12,2) status enum sale int hit int date_add datatime date_update datetime tag_id int product_id int tag varchar 产品标签表 product_id int name varchar description text price de

Sql 程序结构——简单的命令行待办事项列表应用程序——What';哈斯克尔路在哪?

背景:我正在用Haskell编写我的第一个完整程序,它是命令行上一个简单的待办事项列表应用程序 我的问题是结构问题,有两个层次:(1)最好的方法是什么?(2)Haskell(功能性)方法是什么?我之所以这样说,是因为我怀疑有一种更快或更简单的方法可以忽略函数式编程的原理。我想用更优雅、更清晰的方式来做,因为这更像是一种学习练习,而不是其他任何东西 请记住,我(显然)希望应用程序具有一定的持久性。现在表上的两个选项是将信息存储在平面文本文件中,或者交替存储在Sqlite数据库中 想到的第一个结构是

sql中的日期时间比较错误?

我使用了日期和时间验证来安排报告…我必须只安排未来的日期和时间,而不是以前的日期和时间…我使用了这个 declare @Dt varchar(50) declare @Hr varchar(50) declare @trandate_time_tmp as TIME(0) select @trandate_time_tmp = getdate() set @Dt = DATEDIFF (D,@schedule_date ,@trandate_tmp )

Sql 排序是使用distinct子句进行的吗

考虑下面的问题 empname salary a 10000 b 5000 c 5000 如果我选择了从@t中选择不同的薪资 输出为 salary 5000 10000 它已被分类。。。为什么会这样?在这种情况下,实际上没有顺序保证,因为sql server引擎的优化算法不同,因为没有明确的order BY返回行的顺序是未定义的;DISTICT可能会导致(查看计划)操作,这可能就是在您的示例中订购它们的原因。问得好!不管答案是什么,SQL标准都不能保证任何操作的顺序,除非您指定了

Sql 更改列表并将默认值设为空字符串

你好。。只是想问一下,是否可以更改列表并将默认值设为空字符串 我试着使用这个查询 Alter Table Employee Alter Column sJobTitle Varchar(200) DEFAULT '' 不幸的是,它不起作用 如果我做得对,请告诉我 谢谢 链接您需要添加一个约束。指 尝试此查询。此查询不会将当前数据更改为默认值 ALTER TABLE Employee ADD DEFAULT ('') FOR sJobTitle 也许可以。你可以试试这个,单列和多列

需要子sql select的总和,但需要子select中的变量

我正在为现有软件(Atlassian Jira)构建SQL查询,无法对数据库进行任何更改 Jira(表:jiraissue)中确实存在一些问题,在一个单独的表(表:worklog)中有0到n个worklog条目。每个worklog还具有记录工作的用户的用户ID,该用户是一个或多个用户组的成员。每一个问题(表:jiraissue)都与另一个问题相关(在另一个jira项目中,但我认为,这与非jira专家无关),共同响应为“成本单位” 意味着我们想知道每个“成本单位”上记录了多少工作。因此,我们需要一

索引是否计入SQL Server Express上的10gb数据库大小限制?

我正在从事一个使用SQL Server Express数据库的项目,该数据库已经相当大了,我知道索引特定的列/表可能会占用相当多的空间 我不知道索引使用的空间是否与数据库的总大小限制相对应。如果有人有任何见解,请告诉我。关系数据的计数接近极限。这实际上包括索引,但不包括文件流数据 这个。这包括关于关系数据的说明。限制实际上是针对数据库MDF文件的大小,因此是的,它将包括您的索引以及其他数据库对象,如SQLCLR代码等。从SQL Server 2008开始,全文索引也是数据库的一部分,因此它们将计

Sql 函数返回空游标中的dba\u调度程序\u作业\u运行\u详细信息

当我尝试执行这个函数时,它返回空游标。但当我让select返回数据时。 如何解决此问题?您是否尝试过使用用户调度程序作业运行详细信息或所有调度程序作业运行详细信息而不是dba调度程序作业运行详细信息 将dba视图的访问权授予用户帐户通常是个坏主意 另一种解决方案是将函数创建为sys/system帐户,并向函数添加AUTHID DEFINER子句,并授予用户对该函数的访问权 您如何调用这个并查看ref光标?为什么不返回ref游标,而不是返回一个out参数和一个固定的数字呢。开始:结果:=查看失败

F#SQL插入可观察

我有一个SQLServerCE数据库,我正试图用事件中的值来更新它,但是当我尝试从可观察的事件中插入时,控制台会打印出来 有人知道这是为什么吗 在可观察范围外工作的代码: let test1 = use con = new SqlCeConnection (@"Data Source=C:\Users\Database1.sdf") con.Open() let AA = "Enter" let BB = "Enter"

SQL我可以基于另一个变量声明变量数据类型吗

我试图找出一些优雅的代码来动态声明变量类型。比如说 Declare @DateType INT = 2 --When DateType = 2 Then Fiscal Week Else Specific Date CASE WHEN @DateType = 2 THEN DECLARE @BeginDate INT ELSE DECLARE @BeginDate DATE 或者类似的事情 IF @DateType <> 2 BEGIN DECLARE @DateRangeStar

Sql 使用R从access数据库获取列超过255个字符的整个表

我使用RODBC库从R中的access数据库获取表 Path = "C:\\test.accdb" conn = paste("DSN=MS Access Database;DBQ=",Path,sep="") connect = odbcDriverConnect(connection = conn) 然后我想加载表A中的数据: SQL="SELECT * FROM A" tableA=sqlQuery(connect,SQL) 表A中的列包含超过255个字符。表A中的结果只有该列的前25

Oracle vs MS SQL更新在选择中使用

此SQL在MS SQL Server上运行良好,但产生错误“ORA-00907:缺少右括号” SQL: 有没有办法让它在Oracle上运行,或者使用IN with SELECT语句的更新在概念上是错误的?在Oracle中,IN也可以运行,只需在Oracle中将EXCEPT更改为减号即可 下面是一个示例 UPDATE DELIVERY SET VISIBLE = 0 WHERE DELIVERY.ID IN ( (SELECT DELIVERY.ID FROM delivery W

Sql 子查询返回了多个值。当子查询后跟=、!=、时,不允许这样做,等

下面是SQL查询,我试图在过去5分钟内平均一组整数。但是我得到一个错误,子查询返回多个值,这就是我想要它做的,我只是不知道如何获得前300个值的平均值,就像我想要的那样 SELECT AVG(value) AS AVERAGE, id_num FROM table_name AS C WHERE C.time=(SELECT TOP 300 time FROM table_name) GROUP BY id_num 使用IN运算符而不是=运算符 SELECT AV

Sql 如何使用sp_取决于其他数据库

使用SQL Server 2010 为了更新表,我使用了下面的行 更新数据库1_ab..表1 对于sp_,我得到的错误是“附近的语法不正确” sp_依赖于数据库1_ab..表1 如何使用sp_取决于引用当前数据库中的其他数据库表不管怎样,您需要将其放在单引号中。。。即 sp_depends 'database1_ab..table1' 或 您也可以在不同的数据库中调用所有的sp_u过程,如下所示: database1_ab..sp_depends table1 从未听说过SQL Server

访问递归SQL?

我有一个给定的MS Access数据库,其中有一个表: ID, Name, Chief 1, Max, NULL 2, Meier, Max 3, Maier, Meier 4, Mueller, Meier 5, Schmitz, Max .... 现在,我想进行一次选择,以获得其层次结构中所有人员的列表: Max => Meier => Maier Max => Meier => Mueller Max => Schmitz 使用SQL和UNION可以做到这

从2个SQL Server表创建多级菜单

我创建了两个表,如下所示: 类别(id、类别名称) 产品(标识、产品名称、类别标识) 如何使用SQL Server创建这样的菜单? 类别 ++产品1 ++产品2… B类 ++产品3 ++产品4 谢谢收看 您可以加入这两个表,并根据“类别名称”列出它们。我会这样做: SELECT*FROM Category INNER JOIN Product ON Category.id=Product.Category\u id按Category.Category\u name排序,Product.Produ

Sql 如何返回两列中都没有出现的值?

我正在学习一些SQL,我有这两个表,我想做一个查询,选择没有评论的标题。你能帮我吗 这是我认为我应该做的,但似乎远远不是: SELECT DISTINCT title FROM Movie, Rating WHERE Movie.mID != Rating.mID; 以下是一种方法: SELECT title FROM movie m WHERE m.mid NOT IN (SELECT mid FROM rating)

Access SQL中select语句中的计数和编号

你能帮我弄清楚如何完成以下任务吗 我有一个表,其中包含一个日期和另一个日期之间可用的产品数量,如下所示: 表格MyProducts DateProduct ProductId Quantity Price 26/02/2016 7 2 100 27/02/2016 7 3 100 28/02/2016 7 4 100 我已经创建了一个表单,用户需要在其中选

SQL连接两个不相关的具有重复记录的表

我有两个表,分别是表A和表B,我想将它们连接起来,并生成一个结果集,其中表B中的每一行都有一行来自表A Table A Table B NumericId Type Description Contents of A Contents of B 1, Starting Operation A 2, Completing Operation B [More rows] [NO

使用SQL查询根据重复项将一列中的数据拆分为多列

我有如下最新数据: image1 我在图1中有如下数据 我希望数据可以这样修改 image2 我希望使用oracle SQL developer中的SQL查询将输出如图2所示。一个orderID的支付方法副本应放在不同的列中 你好。我假设您基本上是在开发Oracle版本。 我已尝试在下面的代码片段中复制该场景。希望如此 有帮助 您真正使用的是哪些数据库管理系统。Oracle-sqldeveloperSQL Developer是一个客户端IDE。如果要使用它访问Oracle数据库,请标记为和。甲骨

使用游标或循环-PLSQL使用动态SQL自动化创建表过程

语法:plsql IDE:PL/SQL开发人员 我试图使用一系列区域代码为每个区域生成4个表 我理解生成一个包含所有区域的表并截断和替换该表可能更有效,但是基于使用所需的结构,我不允许这样做。 这4个区域来自一个特定的表 SELECT DISTINCT REGION FROM REGION_TABLE ; 动态生成这一系列表的最佳方法是什么 我尝试使用游标和循环,但不确定将此游标集成到以下过程中的方法 DECLARE CURSOR C_REGION IS SELECT DIST

Sql 将表中所有重复项的日期设置为getdate(),并将前1条记录的日期设置为null

我有一个表,它是一堆重复的记录,用于come id。我的要求是更新所有记录的日期列并将其设置为getdate(),但对于副本(原始记录)中记录中的前1个,我必须将日期列设置为null 我继续使用cte和update语句,但它们正在更新表中的所有记录,但我需要将top 1记录的日期列设置为null ;WITH CTE_Duplicate (application_ID, CW_Deferred_ID, DuplicateCount)

SQL监控产品数量的增减

我正在用VB.net编写一个简单的应用程序,我被一条SQL语句卡住了。假设我有以下表格和一些示例数据 产品表带有属性,产品ID产品名称,类别ID,单价,现有数量 ProductId Name UnitPrice QTYonaHand 001 XYZ 3 25 。我想跟踪我拥有的物品数量的增减。这些是使产品现有数量增加或减少的一些交易 BillDetails表带有属性BillNo,Productid,数量,价格-表示从供应商处购买,并将增加数量 Bi

删除子查询时需要SQL帮助

我有一个性能很差的SQL,它包含一个不相关的子查询。我用一个相关联的子查询替换了它,但性能变差了。有没有一种方法可以通过完全删除子查询并将其替换为联接来重写此SQL 以下是查询的简化版本: select distinct tab1.app_id, tab1.name, tab1.stat_cd, tab1.qr from apps tab1 , issues tab2 where

Sql 这是一个可传递的依赖项吗?

我有一张简化的表格: 该公司声明,任何具有角色id的为3的人都需要有领导id,而任何具有角色id任何其他值的人都不应该有领导id(null) 通过了解leader\u id的值,我们现在缩小了role\u id的可能值。我是否不情愿地在leader\u id和role\u id之间创建了一个可传递的依赖关系 不,这不是一个可传递的依赖关系:角色本身并不能为您提供足够的信息来找到领导者;此外,领导者本身没有提供足够的信息来查找角色(对于空值) 可传递依赖性意味着您必须能够以满分从另一个值Y中发现

通过shell脚本删除sql查询输出中的额外空格

我已经编写了一个sql查询,它将为我获得一些输出。代码如下: sqlplus -s user/passwd@DB << EOF > /dev/null 2>&1 set heading off set feedback off set verify off set pagesize 50000 set trimspool on set wrap off set linesize 2000 spool /home/sql_test.txt; select /*

Sql 通过Shell脚本从Oracle DB提取Insert语句

我想通过shell脚本为Oracle DB中的表中的数据提取insert语句。它类似于数据库备份,但我需要为数据库中所有表中的数据插入语句。如果您的目标是: 提取数据库中所有表的all insert语句,然后在不同的数据库中运行这些insert语句?或者希望保存这些insert语句以备将来使用 如果上述要求是正确的,他们是实现这一点的更好方法。Insert语句显示“data”,将数据暴露给任何可以阅读这些摘录的人&这是一个严重的安全威胁。您应该寻找使用数据泵来满足此需求 阿比 如果您有TOAD

配置单元函数到sql函数的转换

我需要帮助将下面的配置单元查询转换为SQL查询。我需要知道如何将unix时间戳函数转换为SQL SELECT person_id, supervisor_id, assignment_type, primary_flag, effective_start_date, effective_end_date, MAX(effective_start_date) OVER (PARTITION BY p.person_id) AS max_effective_start_d

T-SQL上的秩、行数

我在SQL Server 2014中有这样的行: id | fld1 ---+----- 1 | 100 2 | 100 3 | 80 4 | 102 5 | 100 6 | 80 7 | 102 我需要一个分区,在不改变顺序的情况下返回: NewFld | id | fld1 -------+----+------ 1 | 1 | 100 1 | 2 | 100 2 | 3 | 80 3 | 4 | 102

Sql 使用replace替换存储过程调用中的单引号

我有一个对存储过程(db2)的调用,如果一个字符串中有一个单引号,它将被一个错误“Invalid Token”打断。我知道解决办法是将单引号替换为两个单引号。我试图使用“替换”,但得到一个错误“令牌S无效”。这就是“替换”的用法吗 CALL my_store_proc ('xyz', 'US', 'MAIL', replace('Joe's',''','''''), 'zipcode' ) 谢谢大家! 您还需要在文本中引用引号,即: CALL my_store_proc ('xyz', 'US

Sql 不在查询中时的Spark性能问题

当我在SPARK(2.0)中执行该查询时,没有无序读/写,执行该查询需要40分钟的时间 SELECT * FROM A WHERE A.key1 NOT IN ( SELECT B.key1 from B ) AND A.key2 NOT IN (SELECT B.key2 from B ) 这只是一个写作的动作 Dataset<Row> re = Operation.project(ss, var, A, B); re.write() .format("jdbc")

Sql 以gmt生成日期的所有分钟数并获取其本地值

我开始相信我追求的东西在postgresql中根本不可能实现: 我想要给定日期的每个GMT分钟数,并在同一个表中获取它们的本地版本,如不带时区的时间戳 到目前为止,我能够得到GMT和一些完全错误的偏移量。(我无法更改设置时区“Europe/Paris”,每当我尝试注入时区时,它将放置+1h) 查询3: insert into t1(id,tz_lib,date_gmt, date_local) select id, tz_lib, date_lib + (seq ||'minut

postgresql在ID为的列中查找重复项

例如,我有一个表,上面写着“Name”,其中有重复的记录: Id | Firstname -------------------- 1 | John 2 | John 3 | Marc 4 | Jammie 5 | John 6 | Marc 如何获取重复记录并显示其接收主键ID?使用Count()Over()窗口聚合函数 Select * from ( select Id, Firstname, count(1)over(p

Sql 从两个父列中的任一列获取所有子项和子项

我需要找到所有父子关系,它们都链接到我的主列ID 到目前为止,我已经尝试了下面的方法,但是只有一个专栏可以使用 WITH tb (id,Name, Level, Path, Parent) AS ( SELECT id,Name, 1 AS Level, CAST('/'+Name as nvarchar(max)) as Path, CAST(NULL as nvarchar(max)) as Parent FROM krishtest WHER

由重复项标识并在其中删除的Sql查询

查询返回Product\u id列和Date列,但Product\u id列包含重复项,因此我希望根据最近日期添加的日期删除Product\u id中的重复项。任何人都可以给出答案。尝试按Product\u id分组。下面的查询将选择重复Product\u id的最新日期 SELECT i.product_id, o.date_added FROM ims_order_product i INNER JOIN ims_order o WHERE i.product_id IN (S

在StandardSQL中按时间戳对访问进行排序

我正在建立一个网站用户交互日志,到目前为止,我每次访问都有一行显示推荐渠道和时间戳: 我想按日期对每个访问\u ref进行排名,以便在我查询的日期范围内,最近的排名最高,最远的排名最低 以下是我迄今为止的代码,删除了通道以使其更易于阅读: SELECT TIMESTAMP_SECONDS(visitStartTime) AS stamp, customDimension.value AS UserID, CONCAT(CAST(fullVisitorId AS STRING),CAST(vi

如何配置SQLServerDataTools项目,使其能够只发布视图或存储过程,而无需比较和部署架构

我有一个由其他人管理的现有数据库。我有足够的权限创建一些视图或存储过程。不幸的是,数据库所有者有时会覆盖我的更改,而我的视图也会消失。我想创建一个SQL Server数据库项目,这样我就可以发布视图了。我不想在我的项目中保留数据库模式(它会改变,它是巨大的,我不关心它)。我只想拥有我的视图和sp,并且能够在不比较模式的情况下只部署它们。有可能吗?1) 将视图和存储过程放在一个项目中,并将表放在另一个项目中,该项目使用“相同的数据库”引用从第一个项目中引用 只需在视图/过程处于中的情况下部署dac

获取sql server中的最后位置值

嗨,我对sql server有一个疑问 如何将第一个位置移到右侧特定的字符位置 表:EMP文件 filename: ab_re_uk_u_20101001 ax_by_us_19991001 abc_20181002 我希望输出如下所示: filename ab_re_uk_u ax_by_us abc 我试过如下: select SUBSTRING(filename,1,CHARINDEX('2',filename) - 1) as filename from empfiles

Sql 将日期转换为浮动两天

早上好 我有一个有趣的情况: 2018年6月1日=43252为整数 2018年5月30日=43250为整数 我尝试使用以下代码将日期转换为相应月份(报告月份)的第一个: DECLARE @InputDate DateTime, @Result Float, @Date DateTime Set @InputDate = '2018/06/18 23:13:05' If isDate(@InputDate) = 0 BEGIN Set @Result = 0 END E

SQL:试图避免使用某些元素的名称

基本上,我试图找到那些名字中没有(GS)或(TD)的产品。我试着实现这一点: AND c.name NOT IN ('%(TD)%', '%(GS)%') 但这并没有过滤掉包含这些元素的名称,所以现在我只能写下面这些讨厌的代码: AND c.name NOT LIKE '%(TD)%' AND c.name NOT LIKE '%(GS)%' 我知道这是一个超越基本的问题,它可能在这里的某个地方被问过,也许我在搜索时没有正确地表达它。我很想找到一种更有效的方法来写这篇文章,这让我发疯 编辑:

Sql 无法设置Access表中字段的默认值

我试图在表设计中设置access表中字段的默认值。我参加的考试是: =DLookUp([Tbl::VII::A::03::b_stkIden].[stkTersNam]","[Tbl::VII::A::03::b_stkIden]","[stkIdx]= [stkIdenOld]") where 在不同的尝试中,文本被键入(无效)、复制和粘贴(无效)。一直说默认值或验证规则无效 stkIden是包含我需要的值的源表 stkTersNam是包含我需要的值的字段 stkIdx是我要在其中插入查找

Sql 如何找到未知数量的产品选项的所有组合?

我有一个包含3列的表,Model\u Name、Style\u Name和Option\u Name。如何连接按型号名称和样式名称分组的选项名称的所有可用组合?我想做的是在单独的行中列出一个包含所有可能选项组合的产品 我一直试图在组中使用STRING\u AGG(Option\u Name,“/”),但这只是合并了所有Option\u名称 这张桌子看起来像这样 Model_Name | Style_Name | Option_Name 7000 Series | Front Door | W

y已存在大于0的读数,在这种情况下,仪表读数将从该值开始。但最重要的指标是在旧的“抄表”列中有数据。您要添加的附加列是什么?非常感谢,这几乎是我想要的,但正如您在SqlFIDLE中看到的,建议的SQL将值向上移动,例如,在2004-02-23和2004-1

y已存在大于0的读数,在这种情况下,仪表读数将从该值开始。但最重要的指标是在旧的“抄表”列中有数据。您要添加的附加列是什么?非常感谢,这几乎是我想要的,但正如您在SqlFIDLE中看到的,建议的SQL将值向上移动,例如,在2004-02-23和2004-10-04之间,所有更新的抄表应为2312(因为前一个日期的价值较高)但是,对于2004-10-04,SQL的更新值为2889。从2004-10-04到2006-11-06的电表读数都是正确的,因此这些日期的更新电表读数将是相同的。只有当之前的日

在SQL中,LIKE是什么意思?

考虑以下因素:像[ae][^m-z]% 这是什么意思?在WHERE子句中使用LIKE运算符来搜索列中的指定模式(在您的例子中,regex[ae][^m-z]) 例如,以下语句: SELECT randomCharacters FROM generated WHERE names LIKE [ae][^m-z]% 可以从列随机字符中生成的表返回结果,其值与SQL正则表达式匹配。(特别强调SQL)查看: [ae]表示a或e [^m-z]表示不在m到z %表示任意数量的字符 “以a或e开头,第二