gaps-and-islands相关内容
我有一个表 invoices 和一个字段 invoice_number .当我执行从发票中选择发票编号时,会发生这种情况: 发票编号--------------1个2个3561011 我想要一个能给我以下结果的SQL: gap_start |gap_end4 |47 |9 我该如何编写SQL来执行此类查询?我正在使用PostgreSQL. 解决方案 使用现代SQL,可以使用窗
..
我有一个名为 sickness 的表,该表记录了员工何时下班病假.看起来像这样: Date_Sick雇员编号---------- ----------------2020-06-08 0012020-06-10 0012020-06-11 0012020-06-12 0012020-06-08 0022020-06-09 002 我想做的是添加一个具有唯一ID的新列,以标识一个缺勤的唯一实
..
我需要您的帮助才能在SQL Server(v12.0.6024.0)中创建视图.我的一位客户有一张表格,其中某些时隙以这种格式保存: ID ID_EVENT 时间段 1000 24 08:30:00.0000 1000 24 09:00:00.0000 1000 24 09:30:00.0000 每个时隙持续30分钟,上面的示例表示ID为24(保存在另一个表中)的事件的持续时间为
..
在 MySQL 数据库中,我有一个看起来像这样的表: 不存在时创建表示例(Batch_Num int,时间DATETIME);插入示例价值(1,'2020-12-04 05:06:12'),(1,'2020-12-04 05:06:13'),(1,'2020-12-04 05:06:14'),(2,'2020-12-04 05:06:20'),(2,'2020-12-04 05:07:12'),
..
我有一个这样的表: 人员smallint(5)act_time datetime1 2020-05-29 07:00:001 2020-05-29 07:15:001 2020-05-29 07:30:002 2020-05-29 07:15:002 2020-05-29 07:30:001 2020-05-29 10:30:001 2020-05-29 10:45:00 上表是一个示例,其
..
我有此表,我想为几行添加'change'列的值(或者,更确切地说,从'ne'值为零的行到下一个包含零的行)"ne"(不是第二个本身).任何答案将不胜感激. ┌─rn─┬───────日期─┬─ne─┬─────────变化─┐│0│2008-12-07│0│-10330848398││1│2009-04-14│1│-61290││2│2009-04-26│1│9605743360││3│2013
..
有关此方案的问题已经很多,但是我无法在方案中复制答案. 我有以下示例数据集: ID Number | Values 754321 0 754321 0 754321 0 754321 0 754321 1 754321 0 754321 1 754321 0 754321 2
..
我想获得相同的输出: 使用以下示例数据 create table x ( id int, date datetime, stat int ) insert into x values (1, '2017-01-01', 100), (1, '2017-01-03', 100), (1, '2017-01-05', 100), (1,
..
给定1,2,3,6,7,8,11,12,15,18,19,20,编写一个查询以返回按以下查询分组的每组连续数的最大值,但是我不知道如何使用当前查询获取每组连续数的最大值 with trans as ( select c1, case when lag(c1) over (order by c1) = c1 - 1 then 0 else 1 end as new
..
如果表格是这样的,我还添加了一个id列用于订购目的 +-----+-------+ | id | cs_id | +-----+-------+ | 1 | a | | 2 | b | | 3 | a | | 4 | a | | 5 | a | | 6 | b | | 7 | b | | 8 | b
..
在测试中为连续ID进行构建非常困难,除非将其分解成多个部分或使用我想避免的游标. 伪查询- SELECT all FROM table with the same description on multiple adjacent rows for >= 4 rows and set tag = 'y' and order by id (id,description, tag),
..
我在遇到LEAD/LAG时遇到了一些问题.对于一组ID中的每一行,我想获取isAQI = 1的上一个/下一个源.prevAQI和nextAQI列中的所需输出如下. 我尝试了与 Lag()在SQL Server中带有条件的方法相同的方法,但没有运气.任何帮助将不胜感激! 采样数据如下: DECLARE @a TABLE ( id int, timest datetime, sour
..
需要一些帮助来构建查询,这是我目前的方案: users: +----+------------+ | id | username | +----+------------+ | 1 | rob | | 2 | john | | 3 | jane |
..
我有6亿行,如下表1所示.在Teradata SQL中,如何将“按日期"转换为“日期范围"? +-----------+-------+------------+----------+ | ProductID | Store | Trans_Date | Cost_Amt | +-----------+-------+------------+----------+ | 20202
..
我已经阅读了该问题的一些变体,但解决方案似乎无效. 我希望为每个"OrderNo"&动态创建一个“子组" "GroupID".子组应按"OrderLine"排序,例如:(预期结果) OrderNo OrderLine GroupID Subgroup ------------------------------------ 10463 1 798 1
..
我需要编写一个查询,以显示根据最新的LogDate值大于5的按FormID细分的结果. 基于最新的LogDate,如果该值小于5,则应该显示该点的大于5的值,因为如果小于5,该值将被“重置". /p> 我实质上是在查看最近连续的大于5的LogDate记录. 说我们有以下记录集: FormID Value LogDate ----------------------
..
我知道答案很多,但没有用. 我的桌子看起来像 我们在给定时间存储仪表的开和关状态.在每个关闭状态之后,都有一个打开状态.我们要像这样转置表格 MeterNo | [power off] | [power on] _______________________________________________________________
..
问题: 鉴于某些金融证券中的某些头寸,我想在给定日期之前对它们进行交易.在此过程中,我想跟踪哪些交易平仓并开立新仓.进行交易后,当头寸数量变为0时,头寸为CLOSED.当头寸数量从0变为某值时,该头寸被视为OPENED. 设置: SQL DEMO SOURCE 假设我有以下表格: CREATE TABLE tPosition ( SecNum INT, P
..
此表由将集装箱运送到另一个位置的卡车行程组成.卡车每次搬运集装箱时,都会存储记录.如果它携带1个单位,那么我已经将"1个单位"存储在在单位计数字段下,并且还将TripCount分配为1.如果卡车运载2个单位,则单位计数字段值将另存为"2个单位". TripCount为0.5 下面是表的内容-这里Tid是主键: 我需要以下输出: 即,如果驾驶员已经携带了2个单元,则“工作序列"显示
..
我正在尝试根据Day&Week;也是同一条语句中的“一天中的小时"(这样一来,我可以看到我每小时和一周内获得了多少次访问.这是该条语句. SELECT count(id) as count, HOUR(created) as hour_of_day, WEEKDAY(created) as day_of_week, DATE_FORMAT(created,'%W') name_of_day
..