Sql 3000万张唱片。将它们分成24小时的时段。合计一个月。冲洗并重复

我需要检查每日票证验证(Unix datetime)的3000万条记录(相当于一个月),并将它们划分为211个站点的24个一小时周期 首先,我创建了一个视图,该视图选择我要查找的月份(以及设备类型),然后为每个Unix日期时间创建一个Windows日期时间值 SELECT TOP (100) PERCENT StationName AS Station, MainTable.UnixDateTime AS ValTime, DATEADD(s, MainTable.UnixDateTime,

为SQL Server表选择最佳索引

我有一个SQL Server表,其结构如下: CREATE TABLE [dbo].[Log]( [LogID] [bigint] IDENTITY(1,1) NOT NULL, [A] [int] NOT NULL, [B] [int] NOT NULL, [C] [int] NOT NULL, [D] [int] NOT NULL, [E] [int] NOT NULL, [Flag1] [bit] NOT NULL, [Flag2] [bit] NOT NULL, [Fl

Sql 如何从另一个架构中选择特定于Oracle架构的视图

假设我以USERA身份登录,我想访问USERB模式的所有用户视图,例如用户表、用户选项卡列。我该怎么做?谢谢 USER%视图给出了您所拥有的,即架构中的内容 ALL%视图提供您可以访问的内容 因此,您真正应该使用的是ALL_*表/etc,并授予对USERB对象的适当访问权。所有用户表都具有ALL_*和DBA_*前缀的类似项。用户_TABLES包含有关您拥有的所有表的信息。所有_表都包含有关您可以访问的所有表的信息。DBA_表包含有关数据库中所有表的信息 如果您想查看有关UserB表的信息 SE

在SQL SERVER 2005中执行存储过程时出错

下面是我的示例存储过程。当我通过传递日期执行存储过程时,它会显示以下错误 无效的对象名称“TEMPP” --存储过程 ALTER PROCEDURE [dbo].[mystoredprocedure] @abc DATETIME //coming fron front-end AS BEGIN SET NOCOUNT ON; WITH TEMPP AS ( SELECT DISTINCT(ID), NAME FROM EMPLOYEE WHERE EMPDATE >

Sql 子查询作为INSERT INTO语句中的表名

我所处的环境是动态创建表。我基本上想知道是否有一种方法可以将子查询的结果用作INSERT-INTO语句中的表 我有一个可行的解决方案,它使用动态SQL和表名,但对于更复杂的插入,可能会变得非常混乱 这里有一个例子来说明我的意思 INSERT INTO (SELECT name FROM sys.objects WHERE object_id = 914102297) 您可以这样做: DECLARE @Query nvarchar(400

Sql 间隔:如何确保表中的timstamp列中只有一行具有空值?

我有一个表,其列包含“有效期至”日期,我希望确保该日期只能在表中的一行中设置为null。有没有一个简单的方法可以做到这一点 我的表格如下所示(postgres): some_id和valid_from是我的主键。我希望任何人都不要在valid_列中输入一个空值的行,直到这个PK已经有一个空值的行 谢谢根据数据库的不同,主键中不能有null(我不知道所有数据库的情况,但在sql server中不能)。我能想到的最简单的方法是将日期时间设置为最小值,然后在其上添加唯一的约束,或者将其设置为主键 我想

Sql 如何在group by中对值进行排序

考虑以下SQL Server表: ID | X | Y ------+-------+------- 1 | 1 | 1 2 | 1 | 2 3 | 1 | 3 4 | 2 | 40 5 | 2 | 500 6 | 3 | 1 7 | 3 | 100 8 | 3 | 10 我需要选择最大值为Y并按x分组的行的ID,即:

SQL Server中的条件和

我在MSSQL中有这个表: ID OP1 OP2 OP3 330 0 0 1 331 1 0 0 332 3 2 0 OP是选项。可以从1到9,0表示问题没有答案 我怎样才能在一个名为“已回答”的列中“求和”,例如: ID OP1 OP2 OP3 T 330 0 0 1 1 331 1 0 0 1 332 3 2 0 2 值大于0表示已应答 我尝试使用

Sql 如何获得正确的日期格式

表1 我想得到一个正确的日期格式,比如(18-05-2012) 上面的date1列值输出为 Date1 (datatype is integer) 25969 25969 .... 如何对此进行查询 需要查询帮助假设您的int是UNIXTIME(自1970/01/01起的秒数) 比如: Date1 17-05-2012 17-05-2012 ... 这将有助于: declare @UNIX_TIME int select @UNIX_TIME = 1111111111 -- Using

SQL:可以在where子句中使用输入数组吗?

可能重复: 假设我有一张学校表,上面有学校名称、学校注册人数 作为我课程的输入,有人输入了他们希望看到入学人数的学校列表。而不是生成sql查询,如: SELECT * FROM school_table WHERE school_name = 'program_input_1' or school_name = 'program_input_2' or school_name = 'program_input_3' 是否有可能或直接做类似的事情 SELECT * from school_ta

使用内部联接sqlplus时删除

我一直在努力解决如何在RENTALLINE_1中删除RENTALLINE_ID中的行,然后从RENTALLINE_1中删除RENTALLINE_ID。我有一个select语句,它查找我要删除的确切值。它会查找超过3年的记录。我正在使用带有命令行界面的SQLPlus select rentalline_1.rentalline_ID, rentalline_1.tool_store_id, rentalline_1.rental_id, rentallin

使用CUMBURE测试时,sql错误无法在事务内启动事务

我是cucumber的新手,正在学习BDD 当我尝试填写表单并创建记录时,会显示此sqlite错误,尽管在浏览器中手动尝试代码时没有错误 我使用的是rails 4 这是我的控制器代码 class Admin::ItemsController < ApplicationController def index @items=Item.all end def new @item=Item.new end def cre

sql server where子句中的用例 我想做的是查询一个日期时间值,这样我就不必在存储过程中这样做了。 if @considerDate =1 begin select * from table where dateCol = @date end else begin select * from table end

我想做一些像你这样的事情 select * from table where dateCol = ( case when @date is not null then @date ) 在单个查询中如果我正确理解您的意思,这应该可以: SELECT * FROM Table WHERE dateCol = CASE WHEN @date is not null then @d

Sql 过程、函数或触发器中不允许使用语句

我有下面的代码,我已经把它放在一起,似乎工作得很好。但是,我需要将其放在存储过程中,但出现以下错误: 过程、函数或触发器中不允许使用语句 有人知道附近有工作吗 不用USE语句,只需使用完全限定的名称,即 DATABASENAME.SCHEMANAME.TABLENAME.ColumnName 你应该把它改成那样。您需要使用要在不同数据库上运行的存储过程前面的数据库(和架构)来指定完全限定名称 CREATE PROCEDURE SomeProc AS CREATE TABLE #Table

Sql Oracle-如何从VARRAY读取数据

我的表中有一列包含VARCHAR2的VARRAY, 所以我想创建一个select语句,它提供所有列 瓦雷的所有物体都紧挨着, 有没有可能的办法 例如: CREATE TYPE arr AS VARRAY(5) OF VARCHAR2(10); CREATE TABLE table1( v1 VARCHAR2(10) v2 VARCHAR2(20) v3 arr); SELECT t.v1, t.v2, ??? FROM table1 t; 谢谢大家! 你想要的就是这

Sql 在varchar值上下文中使用Between运算符

在sql where条件中,有如下值 select * from tabl where code not between 'A00' and 'B99' 这是怎么回事?到目前为止,我一直认为它只适用于数字和日期,BETWEEN运算符将把它们视为varchar,并相应地应用其比较规则: 如果test_表达式的值大于或等于begin_表达式的值且小于或等于end_表达式的值,则BETWEEN返回TRUE SQL使用ASCII代码列表来确定在何处排序 按什么顺序 与orderby相同的方法适用于va

Sql 在SSIS事件处理程序任务中获取服务器和数据库名称

我有一个关于ssis包的问题。我有一个ssis包,包含OnError、OnPreExecute和OnPostExecute。在这些事件处理程序中,SQL任务执行不同的任务并更新不同的表。我的问题是:我使用了一些系统变量,比如SourceName和SourceDescriptin(这是当前sql任务的名称和描述)。我注意到“源”即步骤的连接(服务器名称、数据库名称)没有任何变量。有没有办法获取源/步骤使用的数据库名称和服务器名称?如果您有任何帮助,我们将不胜感激,并提前向您表示感谢。我不认为,我们

Sql 为包含多列数据的每个单元格创建一行

我正在处理的数据是从一项调查中生成的,该调查的第一列有一个唯一的响应者ID,然后有多个列与响应者在寻找员工时所选择的国家有关。所以我的桌子看起来像: 答复安道尔奥地利比利时塞浦路斯丹麦芬兰法国 2546078180安道尔零塞浦路斯零塞浦路斯零塞浦路斯零 2546077668空比利时空空 2546077120零零零丹麦零芬兰零 最后我想要的是一个表格,列出每个答案的应答者ID。根据上面的数据,它看起来像: 响应国家/地区 2546078180安道尔 2546078180塞浦路斯 25460776

正则表达式通过Adobe括号查找并替换SQL文件中的文件名

我试图通过RegEx从SQL文件中仅查找所有文件名,而不查找路径。假设我正在尝试使用replace函数搜索和替换我的发现。关于这一点,正则表达式是什么 SQL文件将包含数百行非常长的行,如下所示: (493, 179, '_wp_attached_file', '2014/08/The_Image_Name_Here-004.jpg'), (494, 179, '_wp_attachment_metadata', 'a:5: {s:5:"width";i:365;s:6:"height"

Sql 使用三个表的内部联接复制记录

我目前正在处理3个表,我发现很难构造返回唯一记录集的SQL查询。我正在使用Oracle SQL 如果我包括UDG_描述字段,我会得到重复的记录 我曾尝试在Table1.MachId上使用“distinct”,但我认为在我的查询中使用它是不正确的 我注意到,如果我包含UDG_描述,我会得到重复的记录,但我需要表3中关于我试图生成的输出的记录描述 如果有人能帮助我,我将不胜感激 下面是我目前正在使用的当前设置 表1 马基德 马赫码 MachLinkType 表2 列维 Lev_UDG_代码(链

Sql 带strpos的WHERE子句

现在,我想通过查询得到一个子矩阵: 为什么不起作用?“col001,col002”是一个分隔标识符,即dbms认为它是一个列名。对字符串文字使用单引号 即 没有STRPOS是MsSQL: 参考资料: 您可以在MsSQL中编写如下查询: select variable, col001, col002 from test where strpos('col001,col002', variable) > 0 “col001,col002”是一个带分隔符的标识符,即dbms认为它是一个列名。字

WHERE子句中的SQL Server浮点

我试图查询一个数据库,我需要得到一个客户名单,他们的体重等于60.5。问题是60.5是一个实数,我以前从未在where子句中用实数查询过数据库 我试过这个: SELECT Name FROM Customers WHERE Weight=60.5 SELECT Name FROM Customers WHERE Weight=cast(60.5 as real) SELECT Name FROM Customers WHERE Weight=cast(60.5 as decimal) SELEC

Sql VB.NET仅在有2个或多个条目的数据库中选择

当我执行这个查询时,只有当有两个或多个条目等于该查询时,我才会得到一个返回 当只有一个空值时,我会得到一个空值,并且花了几个小时试图计算它。请帮忙 Dim i = (From dr As DataRow In Test1DataSet.Tables("Data").Rows Select dr Where dr("S3N:").ToString.Contains(scanPNtb.Text.ToString)).Count For Each m3 In (From dr As D

SQL:根据开始和结束日期,仅对某些行求和

我有两个表:第一个表包含唯一标识符(UI)。每个唯一标识符都有一列包含开始日期(yyyy-mm-dd),一列包含结束日期(yyyy-mm-dd)。第二个表包含每天的温度,分别列有月份、日期、年份和温度。我想加入这些表,得到每个唯一标识符的编译温度;但是,我希望编译的温度只包括第二个表中介于第一个表的开始日期和结束日期之间的天数。 例如,如果一条记录的开始日期为15年10月12日,结束日期为15年31月12日,我希望有一列包含10-31年代的汇编温度。如果下一条记录的开始日期为12/3/15-12

Sql 当存在弱实体时,如何分配值?

大家晚上好!我正在学习数据库技术,我有一个任务要做。首先是创建一个名为skier的表格,然后是竞争 我这样做: CREATE TABLE skier ( SkName varchar(20), weight int, primary key(SkName) ) engine = INNODB; CREATE TABLE competition ( CompName varchar(20), Date varchar(20), primary key(CompName) ) engin

如何在SQLServerExpress中打开derby数据库文件?

我有一个用java和derby组合构建的项目,我需要用全新的环境对其进行修改和重建…即进入.net和SQL Server。。。我可以处理.ne部分,但想看看数据库中有什么 那么如何在SQLServerExpress中访问这个DerbyDB文件呢 谢谢,, NPSQL Server Express是否有JDBC驱动程序?如果是这样,您只需配置正确的Java类路径和JDBC连接URL即可打开数据库。我没有安装derby,驱动器中也没有空间安装derby…我试图在SQL server中打开数据库文件…

Sql 访问:按列对分组中的条目进行排序

我正在MicrosoftAccess2010中创建一个查询,它获取a列中的所有条目,并给出过去7天内每个条目的计数 运行查询时,使用GROUP BY子句,我会根据需要按字母顺序获取列a中的条目,但名为其他的条目除外,我希望它们总是出现在底部 我怎样才能做到这一点,最好是不改变列A的值?类似的东西会起作用吗 CREATE TABLE Col_DATE (col1 VARCHAR(5), col2 DATE) INSERT INTO Col_DATE VALUES ('aa','17/02/20

Sql 使用变量从窗体运行查询

我需要计算两个零售商之间的加权价格指数(根据零售商1的营业额加权)。我需要使用不同的项目组成(不同的前n名)计算该指数 表1包含区域周项目级别的数据。 加权的基本方法是: 金额(价格1/价格2*营业额)/金额(营业额) 我使用以下查询语句计算它: SELECT week, SUM(price1/price2 * turnover)/SUM(turnover) AS [PriceIndex] FROM Table1 GROUP BY week; 根据业务需求,我通常需要使用不同的产品集计

Sql 如何编写此查询以避免笛卡尔积?

我想为订单创建一个CSV导出,显示每个订单项目发货的仓库id(如果可用) 为简洁起见,以下是相关的模式: create table o (id integer); 订单有许多订单项: create table oi (id integer, o_id integer, sku text, quantity integer); 对于CSV中的每个订单项目,我们希望显示其发货的仓库id。但这不是存储在订单项中。它储存在货物中 订单可以从不同的仓库分为多批装运 create table s (id

Sql 触发器中的异常处理(针对每行)

在触发器中引发异常时会发生什么 假设我们有一个表R(a,b,c,d,e),其值如下: 现在假设我们尝试执行updater SET b=2,c=3,其中a=1,触发器如下所示: CREATE TRIGGER fd_enforcer_update BEFORE UPDATE on R FOR EACH ROW DECLARE counter INT BEGIN SELECT COUNT(*) INTO counter FROM R WHERE R.A = NEW.A AND

Sql 如何计算特定项在查询输出中出现的时间

我有一个包含很多表和联接的查询。因此,简单的计数(列)和分组方式无法正常工作。 查询返回一个项目列表。我想计算每个项目在该列表中出现的次数 我的问题是: SELECT DECODE(BOM.ORGANIZATION_ID,203, 'CEC', 328, '3PL', 204, 'SIM') ORGANIZATION_CODE, BOM.ORGANIZATION_ID, MSI.SEGMENT1 "PARENT_ITEM", MSIC.SEGMENT1 "COMPONENT_ITEM

Sql 如何选择catch部分仅选择

我正在存储过程中使用try-and-catch块。我从try块中的几个表中选择一些数据,并在catch块中抛出错误,代码如下 SELECT ERROR_NUMBER() AS ErrorNumber ,ERROR_SEVERITY() AS ErrorSeverity ,ERROR_STATE() AS ErrorState ,ERROR_PROCEDURE() AS ErrorProcedure ,ERROR_LINE() AS ErrorLine

Sql 从表中检索特定24小时时间范围内的记录

我试图从sql表中提取一个小时值,其中记录上有UTC时间戳(比本地时间提前7小时)。我试图提取的数据的总值是从今天早上6点到明天早上6点(当地时间)的值的总和。我尝试使用dateadd,如下所示: SELECT VALUES FROM TABLE1 WHERE TRANTIME BETWEEN DATEADD(HOUR, 13, CONVERT(DATETIME, CONVERT(DATE, GETUTCDATE())) AND DATEADD(HOUR, 37, CONVERT(DATETIM

Sql Access-仅对子查询中匹配的查询记录进行筛选

我有一个查询中的数据,称之为Query1,它有一个键,名为Auth,所以Query1.Auth。 另一个查询Query2具有不同的-相似的-数据,以及Auth键Query2.Auth 我想做的是,根据Query2的匹配结果过滤Query1。然而,有一个细微差别,我只需要过滤那些匹配的结果(实际上,我可能会根据条件过滤它们),同时保留剩余的、不匹配的完整结果 更清楚地说,Query1的结构类似于: <Auth> <Some Field> <Begin Date>

Sql 显示现有事件中的计划事件列表

我想得越多,事情就越复杂,但我想得到的是一份基于正在进行的工作的工作量规划报告。随着作业的进行,将向数据库中添加一行(不在我的控制范围内),其中包含最后一个事件的日期。事件按顺序发生,每个事件都有一个活动发生的时间框架 下表和数据示例: CREATE TABLE [dbo].[Customers]( [Cust_ID] [int] NOT NULL, [CustName] [varchar](50) NULL ) INSERT [dbo].[Customers] ([Cust_I

Sql BigQuery拆分列并获取每个子字符串的计数

在BigQuery中,我想创建一个查询来统计注释字段中单词的出现次数,并根据每次出现的次数进行分组。这将让我了解哪些词比其他词使用得更多,并了解用户的行为和情绪。bigquery非常新,所以任何想法都会很有帮助 我最后做的是使用split函数 SELECT COUNT(JJ) AS STUFF, JJ FROM (SELECT SPLIT(text, ' ') AS JJ FROM [bigquery-public- data:hacker_news.comments] LIMIT 1000

Sql POSTGRES-前4个工作日的平均成绩

嗨,我正在计算前4个星期二的平均值。我有每日销售数据,我试图计算出前4周同一工作日的平均值 附件是我的数据集的快照 现在是3月6日,我想知道前4周的平均值是多少(即2月6日、2月13日、2月20日和2月27日)。需要将此值指定给“月平均值”列 我正在使用PostGres数据库 谢谢您可以使用窗口功能: select t.*, avg(dailycount) over (partition by seller_name, day

Sql 水晶公式:If/then/else多条件语句

我正在为crystal编写一个公式,这样我就可以得到满足某些条件时的计数。以下是我的声明: IF {eResponse.eResponse.05}=2205001 AND ({eSituation.esituation.11}="I20.9" or {eSituation_12.eSituation.12}="I20.9") AND ({eDisposition_HospitalTeamActivationGroup.eDisposition.24}=4224013 or not(is

SQL Server 2008角色多个数据库

我有一个前端应用程序需要访问3个不同的SQL Server数据库: 1st. database read/only 2nd. database read/write 3rd. database read/write 将使用数据库/应用程序的用户登录使用Windows身份验证 此应用程序还调用一些需要运行的SQL作业 我想做的是设置角色以完成此任务,然后根据需要轻松地将用户映射到角色 在SQLServer2008R2中是否有这样做的方法 有更好或更简单的方法吗 我试图避免显式设置每个用户的需要

交叉连接一个表和它自己Impala SQL Cloudera

我有一张有患者id和病情的桌子 大约400个条件 我想看看每个条件下两个条件之间的重叠 所以选择2个顺序并不重要 本质上这是源表 这就是结果 黑斑羚不支持自动加入,所以。。。。看 我认为以下方法应该有效: select s1.condition, s2.condition, count(*) as num_patients from source s1 join source s2 on s1.patientid = s2.patientid group by s1.con

使用Oracle SQL进行计数

我有一个查询,最终用户希望在某个位置有一个分发器的总数——尽管他们已经按位置分组,并且可以看到分发器的总数,但他们仍然需要该计数列 这是一个查询,它是在一个位置对每台机器分配的总加仑数求和- SELECT nt.COSTCENTER AS "CostCtr", s.DAD AS "D.A.D.", s.DIVISION AS "Division", nt.DISPENSER AS "Model Name", nt.SERIALNBR AS "Serial", nt.CLRNTSYS AS "S

Sql 通过SSMS查看数据库关系图需要什么权限?

作为DBO登录,我在databasediagrams文件夹中创建了一个数据库图。然后,我仅以对数据库的读取权限登录,在文件夹中看不到图表。我需要什么权限才能阅读图表,无需编辑 此用户无法查看数据库关系图: ?没有关系,但我的第一反应是说,“但是数据库图不推荐使用”,所以我在谷歌上搜索了一下。原来是的,但只有几个月,现在他们回来了。所以+1帮助我保持最新状态。@EricBrandt对我们很好!

如何将mysql TIMESTAMPDIFF转换为oraclesql查询

时间差(小时,主键consprtydate,rs.consprtydate) 要计算两个日期的小时数差,并在oracle sql中提取小时数,可以通过减去两个日期字段轻松实现,如下所示: Date2 - Date1 -- returns number of days between dates (Date2 - Date1)/24 -- returns number of days between dates MONTHS_BETWEEN(Date1, Date2) -- returns nu

Sql 唯一地追加表列值

下面我有两个表,有3列,每个表都有过去和现在的值,这些值基于QuestionId以及它们所附的表单 presentValueTable-它有questionId和present的值 pastValueTable-它有questionId和过去相同questionId的值 代码: ] 这就是我所期望的输出-3列10行。每个表有5行,所以当我选择时,我想要10行 QuestionId | AssignForm | Value | -----------+------------+------

基于sql(teradata)中另一列的条件分配列值

我有一个包含以下列的表:Date,AcctId,CustID,BackupID,Logins,Amount。对于给定的日期,AcctID可以有多个CustID,但我想根据登录的值为AcctID分配一个单数CustID 即: 如果给定日期的Cust1登录次数多于Cust2,并且AcctID则CustID应将Cust1作为值 如果Cust1logins=Cust2logins,则CustID应具有BackupID值 然后,我想为给定的日期,账户添加金额 有人能帮我学逻辑吗?我尝试了自加入,但可能

SQL根据其他列中的最低值获取值

我在SQL中有一个要求,我需要根据另一列中的最低值获取值 在本例中,我们可以看到最低金额为4900000.00,其原始货币为英镑。因此,最低货币的值应仅针对此行设置为GBP。然后将其他行设置为UNK 是否有任何窗口功能可以帮助实现这一点?我尝试了FIRST_值,但无法将其他“非限定”行设置为UNK 预期产出为: OriginalCurrency LowestCurrency Reference Amount GBP GBP

带重复键的SQL查询

我有一张像这样的桌子 KEY|VIN|MORE DATA 1 |123| BLA BLA 2 |456| 3 |678| 4 |777| 1 |888| 现在我需要查询,所以当键有重复时,则是一个不同的结果,例如 结果 KEY|VIN|VIN2 1 |123|888 如何才能做到这一点?对于示例数据,您可以使用聚合: select key, min(vin) vin, max(vin) vin2 from mytable group by key having count(*)

如何从sql中的表3中存储ID的两个表中获取名称

我想使用ConcereDid在一列中获取名称 在这个表(分类账)中,concerendo包含客户和供应商的id,我想知道他们的名字 这是桌子(顾客) 这是表格(供应商) 这就是我所做的 select l.LedgerId,l.ConcernedId,l.Amount,v.Name,l.Type,c.Name from Ledgers l left join Vendors v on l.ConcernedId=v.VendorId left join Customers c

Sql 如何使用两列从关系表中删除行

我试图删除表T1上的表T2和T3之间的关系。 我已经搜索过了,但是我只能找到只有一个内部连接的DELETE示例 我正在尝试类似的方法,但我遇到了一个错误: SQL错误:ORA-00933。00000-“SQL命令未正确结束” 如何才能使其正常工作?您正在使用MySql语法从Oracle数据库中删除数据。 您可以使用EXISTS: DELETE FROM T1 WHERE EXISTS (SELECT 1 FROM T2 WHERE T2.property = 'YYY' AND T2.ID =