- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下数据库方案。
CREATE TABLE Twix.dbo.Sensors
(Id int PRIMARY KEY NOT NULL IDENTITY(1,1),
Location nvarchar(260) NOT NULL);
CREATE TABLE Twix.dbo.Visitors
(Id int PRIMARY KEY NOT NULL IDENTITY(1,1),
Name nvarchar(260) NOT NULL);
CREATE TABLE Twix.dbo.Visits(Id int PRIMARY KEY NOT NULL IDENTITY(1,1),
SensorId int CONSTRAINT FK__Visits__Sensor__239E FOREIGN KEY REFERENCES Sensors(Id),
VisitorId int CONSTRAINT FK__Visits__Visitors__4DCF FOREIGN KEY REFERENCES Visitors(Id),
InTime datetime NOT NULL,
OutTime datetime NOT NULL);
SELECT VisitorId, InTime, OutTime FROM Visits ORDER BY VisitorId, InTime
1 2011-02-09 15:26:59.173 2011-02-09 15:29:22.097
1 2011-02-09 15:28:40.530 2011-02-09 15:29:52.737
1 2011-02-09 15:30:10.577 2011-02-09 16:17:58.967
1 2011-02-09 19:09:23.057 2011-02-09 19:10:57.493
1 2011-02-09 19:12:16.087 2011-02-09 19:13:27.493
1 2011-02-14 15:08:46.333 2011-02-14 15:26:42.433
2 2011-02-09 17:55:42.390 2011-02-09 18:52:03.780
2 2011-02-09 18:10:56.727 2011-02-09 18:11:57.493
2 2011-02-09 21:47:15.650 2011-02-09 21:48:38.783
2 2011-02-09 21:50:18.337 2011-02-09 21:55:26.777
3 2011-02-09 17:12:58.103 2011-02-09 19:51:59.697
3 2011-02-09 22:27:52.073 2011-02-09 23:03:24.753
3 2011-02-09 23:02:51.177 2011-02-10 09:51:14.890
3 2011-02-14 15:27:42.270 2011-02-14 15:42:31.107
3 2011-02-14 15:43:37.320 2011-02-14 18:45:26.163
4 2011-02-09 21:07:51.030 2011-02-09 21:51:02.880
4 2011-02-09 22:42:52.660 2011-02-09 23:21:13.830
4 2011-02-09 23:23:08.563 2011-02-09 23:35:12.847
4 2011-02-09 23:36:05.120 2011-02-09 23:59:02.813
4 2011-02-10 05:58:44.103 2011-02-10 05:59:55.867
4 2011-02-12 08:29:36.620 2011-02-12 09:51:18.510
4 2011-02-12 13:13:42.650 2011-02-12 14:06:01.473
5 2011-02-10 06:48:52.717 2011-02-10 07:37:04.870
5 2011-02-10 06:50:31.067 2011-02-10 06:52:20.877
5 2011-02-10 06:52:36.273 2011-02-10 06:53:36.523
5 2011-02-10 06:59:11.790 2011-02-10 07:00:34.867
5 2011-02-10 08:36:39.563 2011-02-10 08:46:14.760
5 2011-02-10 12:47:05.567 2011-02-10 12:48:05.860
5 2011-02-10 12:49:19.590 2011-02-10 13:09:27.880
5 2011-02-10 12:49:25.733 2011-02-10 12:59:59.883
5 2011-02-10 12:55:23.460 2011-02-10 12:56:23.507
private IEnumerable Merge(IEnumerable visits, uint holeInterval)
{
var vlist = new LinkedList<Visit>(visits.OrderBy(o => o.InTime));
var result = new List<Visit>();
while (vlist.Count > 1)
{
Visit a = vlist.First.Value; vlist.RemoveFirst();
Visit b = vlist.First.Value; vlist.RemoveFirst();
var r = Visit.Merge(a, b, holeInterval); // Merges two visits
if (r != null) { vlist.AddFirst(r); }
else { result.Add(a); vlist.AddFirst(b); }
}
result.Add(vlist.First.Value);
return result;
}
public IEnumerable<Visit> ListCompleteVisits()
{
var result = new List<Visit>();
var queryResult = from visits in this.repository.ListVisits()
group visits by visits.Visitor.Id into vgroup
select Merge(vgroup, this.holeInterval);
foreach (var v in queryResult)
{
result.AddRange(v);
}
return result;
}
DECLARE @holeInterval int
SET @holeInterval = 10
SELECT t.RowNumber, t.VisitorId, t.InTime, t.OutTime, t.BInMinusAOut,
(SELECT MIN(InTime) FROM Visits AS D
WHERE VisitorId NOT IN (select VisitorId from Visits group by VisitorId having COUNT(*) = 1)
AND D.InTime <= t.InTime and D.VisitorId = t.VisitorId
AND t.RowNumber > /*here should be max rownumber greater than holeinterval*/
) AS MinInTime
FROM
(SELECT
ROW_NUMBER() OVER(ORDER BY VisitorId, InTime ASC) AS RowNumber,
VisitorId, InTime, OutTime,
DATEDIFF(MI,InTime,
(SELECT MIN(InTime) FROM Visits AS B
WHERE B.InTime > A.InTime and A.VisitorId = B. VisitorId
)) AS BInMinusAIn,
DATEDIFF(MI,OutTime,
(SELECT MIN(InTime) FROM Visits AS B
WHERE B.InTime > A.InTime and A.VisitorId = B. VisitorId
))) AS BInMinusAOut
FROM Visits AS A
WHERE VisitorId NOT IN (select VisitorId from Visits group by VisitorId having COUNT(*) = 1)
) t
/*WHERE t.BInMinusAOut > @holeInterval OR t.BInMinusAOut IS NULL*/
ORDER BY VisitorId, InTime
1 1 2011-02-09 15:26:59.173 2011-02-09 15:28:22.097 0
2 1 2011-02-09 15:28:40.530 2011-02-09 15:29:52.737 1
3 1 2011-02-09 15:30:10.577 2011-02-09 16:17:58.967 9
4 1 2011-02-09 16:26:44.810 2011-02-09 16:51:46.423 20
5 1 2011-02-09 17:11:57.633 2011-02-09 17:13:20.680 2
6 1 2011-02-09 17:15:35.727 2011-02-09 17:18:48.493 -2
7 1 2011-02-09 17:16:12.230 2011-02-09 17:42:47.867 3
8 1 2011-02-09 17:45:43.793 2011-02-09 17:52:10.860 3
9 1 2011-02-09 17:55:31.127 2011-02-09 20:13:22.743 -109
10 1 2011-02-09 18:24:00.427 2011-02-09 18:32:12.033 2
11 1 2011-02-09 18:34:15.877 2011-02-09 18:37:19.770 2
12 1 2011-02-09 18:39:46.440 2011-02-09 18:48:16.800 2
13 1 2011-02-09 18:50:59.270 2011-02-09 20:03:47.550 -54
14 1 2011-02-09 19:09:23.057 2011-02-09 19:10:57.493 2
15 1 2011-02-09 19:12:16.087 2011-02-09 19:13:27.493 48
I.e. result:
1 2011-02-09 15:26:59.173 2011-02-09 16:51:46.423
1 2011-02-09 17:11:57.633 2011-02-09 20:13:22.743
最佳答案
不要试图在一个大的选择语句中完成所有事情。
编写一个使用 Select INTO #temp
创建临时表的存储过程句法。然后修改/追加临时表。最后,从临时表中选择作为输出。性能会很好,你可以继续前进。
关于c# - 需要将查询中的 "merge" block 记录合二为一,视其他查询列而定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018403/
我正在尝试用 C 语言编写一个使用 gstreamer 的 GTK+ 应用程序。 GTK+ 需要 gtk_main() 来执行。 gstreamer 需要 g_main_loop_run() 来执行。
我已经使用 apt-get 安装了 opencv。我得到了以下版本的opencv2,它工作正常: rover@rover_pi:/usr/lib/arm-linux-gnueabihf $ pytho
我有一个看起来像这样的 View 层次结构(基于其他答案和 Apple 的使用 UIScrollView 的高级 AutoLayout 指南): ScrollView 所需的2 个步骤是: 为 Scr
我尝试安装 udev。 udev 在 ./configure 期间给我一个错误 --exists: command not found configure: error: pkg-config and
我正在使用 SQLite 3。我有一个表,forums,有 150 行,还有一个表,posts,有大约 440 万行。每个帖子都属于一个论坛。 我想从每个论坛中选择最新帖子的时间戳。如果我使用 SEL
使用 go 和以下包: github.com/julienschmidt/httprouter github.com/shwoodard/jsonapi gopkg.in/mgo.v2/bson
The database仅包含 2 个表: 钱包(100 万行) 事务(1500 万行) CockroachDB 19.2.6 在 3 台 Ubuntu 机器上运行 每个 2vCPU 每个 8GB R
我很难理解为什么在下面的代码中直接调用 std::swap() 会导致编译错误,而使用 std::iter_swap 编译却没有任何错误. 来自 iter_swap() versus swap() -
我有一个非常简单的 SELECT *用 WHERE NOT EXISTS 查询条款。 SELECT * FROM "BMAN_TP3"."TT_SPLDR_55E63A28_59358" SELECT
我试图按部分组织我的 .css 文件,我需要从任何文件访问文件组中的任何类。在 Less 中,我可以毫无问题地创建一个包含所有文件导入的主文件,并且每个文件都导入主文件,但在 Sass 中,我收到一个
Microsoft.AspNet.SignalR.Redis 和 StackExchange.Redis.Extensions.Core 在同一个项目中使用。前者需要StackExchange.Red
这个问题在这里已经有了答案: Updating from Rails 4.0 to 4.1 gives sass-rails railties version conflicts (4 个答案) 关
我们有一些使用 Azure DevOps 发布管道部署到的现场服务器。我们已经使用这些发布管道几个月了,没有出现任何问题。今天,我们在下载该项目的工件时开始出现身份验证错误。 部署组中的节点显示在线,
Tip: instead of creating indexes here, run queries in your code – if you're missing any indexes, you
你能解释一下 Elm 下一个声明中的意思吗? (=>) = (,) 我在 Elm architecture tutorial 的例子中找到了它 最佳答案 这是中缀符号。实际上,这定义了一个函数 (=>
我需要一个 .NET 程序集查看器,它可以显示低级详细信息,例如元数据表内容等。 最佳答案 ildasm 是 IL 反汇编程序,具有低级托管元数据 token 信息。安装 Visual Studio
我有两个列表要在 Excel 中进行比较。这是一个很长的列表,我需要一个 excel 函数或 vba 代码来执行此操作。我已经没有想法了,因此转向你: **Old List** A
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想要改善这个问题吗?更新问题,以便将其作为on-topi
我正在学习 xml 和 xml 处理。我无法很好地理解命名空间的存在。 我了解到命名空间帮助我们在 xml 中分离相同命名的元素。我们不能通过具有相同名称的属性来区分元素吗?为什么命名空间很重要或需要
我搜索了 Azure 文档、各种社区论坛和 google,但没有找到关于需要在公司防火墙上打开哪些端口以允许 Azure 所有组件(blob、sql、compute、bus、publish)的简洁声明
我是一名优秀的程序员,十分优秀!