我有一个数据框,如下所示:
> df <- data_frame(g = c('A', 'A', 'B', 'B', 'B', 'C'), x = c(7, 3, 5, 9, 2, 4))
> df
Source: local data frame [6 x 2]
g x
1 A 7
2 A 3
3 B 5
4 B 9
5 B 2
6 C 4
Run Code Online (Sandbox Code Playgroud)
我知道如何x为每个组添加一个具有最大值的列g:
> df %>% group_by(g) %>% mutate(x_max = max(x))
Source: local data frame [6 x 3]
Groups: g
g x x_max
1 A 7 7
2 A …Run Code Online (Sandbox Code Playgroud) 我目前有下表:
ID | Name | EventTime | State
1001 | User 1 | 2013/07/22 00:00:05 | 15
1002 | User 2 | 2013/07/23 00:10:00 | 100
1003 | User 3 | 2013/07/23 06:15:31 | 35
1001 | User 1 | 2013/07/23 07:13:00 | 21
1001 | User 1 | 2013/07/23 08:15:00 | 25
1003 | User 3 | 2013/07/23 10:00:00 | 22
1002 | User 2 | 2013/07/23 09:18:21 | 50
Run Code Online (Sandbox Code Playgroud)
我需要的是state每个userid与上一个eventtime相似的不同之处:
ID | …Run Code Online (Sandbox Code Playgroud) 我请求你的帮助写一个查询来检查MySql中房间的可用性.目前我有这种表:
ROOM | FROM | TO
-----------------------------
101 | 2014-08-09 | 2014-08-14
102 | 2014-08-09 | 2014-08-14
... ... ...
Run Code Online (Sandbox Code Playgroud)
所以我从2014年8月9日到2014年8月14日预订了房间101 ,我查询可用性的查询看起来像=
SELECT order_id FROM booking
WHERE `ROOM` = '101'
AND (`FROM` BETWEEN '2014-08-08' AND '2014-08-20')
AND (`TO` BETWEEN '2014-08-08' AND '2014-08-20')
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我将检查日期之间的可用性
What i trying to archive is this
Order --------09++++++++++13--------------
Check1 -----08+++++++++++++++++++++++++17-- Not availble
Check2 -----------------12+++++++++++++17-- Not availble
Check3 -----------10----------------------- Not availble
Check4 -----------10+11-------------------- Not availble
Check5 -----------------------14+++++++17-- Available
Check6 --07++++09-------------------------- Not availble
Check7 …Run Code Online (Sandbox Code Playgroud) 用于配置文件的CONNECT_TIME的定义,根据oracle 文档
CONNECT_TIME
指定会话的总运行时间限制,以分钟为单位.
我猜他们所说的连接时间是整个过程执行的时间.
有没有办法限制在过程中执行查询的连接时间?例如,如果过程有3个执行查询,并且任何查询超过指定的时间限制,则应中止或终止该会话.
我正在尝试确定是否应该创建或更改并触发.我的代码如下.
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
ALTER TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
AFTER INSERT
AS RAISERROR ('Notify Compensation', 16, 10);
else
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
这段代码应该如何?
如何使用一个 SQL 查询获取一列中最新值更改的日期?
可能的数据库情况:
Date State
2012-11-25 state one
2012-11-26 state one
2012-11-27 state two
2012-11-28 state two
2012-11-29 state one
2012-11-30 state one
Run Code Online (Sandbox Code Playgroud)
因此结果应返回 2012-11-29 作为最新更改状态。如果我按州值分组,我将获得第一次在数据库中拥有该州的日期。
该查询将按州对表进行分组,并在日期字段中显示该州的最新创建日期。
根据给定的输入,输出将是
Date State
2012-11-30 state one
2012-11-28 state two
Run Code Online (Sandbox Code Playgroud) 我想为组中的sum(x)每一data.table行实现N个下一行,其中N是window列中的值.
用于生成样本数据的代码:
set.seed(100)
ids <- 1:100
x <- floor(runif(100, 1, 100))
groups <- floor(runif(100, 1, 10)) * 10
window <- floor(runif(100, 1, 5))
library('data.table')
data <- data.table(ids, x, groups, window)
setkey(data, groups, ids)
Run Code Online (Sandbox Code Playgroud)
顶行:
ids x groups window
1: 3 55 10 4
2: 9 55 10 1
3: 13 28 10 1
4: 16 67 10 3
5: 26 17 10 3
6: 30 28 10 2
7: 36 89 10 2
8: …Run Code Online (Sandbox Code Playgroud) 我有R代码(不是包),我想用验证测试覆盖验证测试,在Jenkins中使用输出.
我可以从两个演示代码结构的文件开始:
# -- test.R
source("test-mulitplication.R")
# -- test-mulitplication.R
library(testthat)
test_that("Multipilation works ", {
res <- 5 * 2
expect_equal(res, 10)
})
Run Code Online (Sandbox Code Playgroud)
运行后,我想获得一个xml文件,其中包含每个测试文件的结果或单个文件中的所有测试.
我注意到reportertestthat中有一个功能,但大部分功能似乎都在内部.目前尚不清楚如何保存测试结果以及功能的灵活性.
不幸的是,该部分的文档并不完整.
编辑
我现在找到了一种方法来测试目录,使用更好的语法和junit输出选项:
# -- tests/accpetance-tests.R
options(testthat.junit.output_file = "test-out.xml")
test_dir("tests/")
# -- tests/test-mulitplication.R
library(testthat)
test_that("Multipilation works ", {
res <- 5 * 2
expect_equal(res, 10)
})
Run Code Online (Sandbox Code Playgroud)
我相信这会在记者中产生一个XML对象,但我仍然没有看到如何将它保存到文件中.
我试着test_dir打电话with_reporter,但这并没有多大作用.
我正在寻找在testthat框架内模拟其余 API 响应的最简单方法。
用法示例与此类似:
with_mock_api(
request,
response,
{
call_to_function_with_api_call()
# expectations check
}
)
Run Code Online (Sandbox Code Playgroud)
因此,测试将通过而不调用真正的 API。
request 指将在 api 包装函数内部完成的 http 请求的定义;response 指为了模拟而缓存的响应对象。我写了两个运行良好的查询,但是它们确实很慢:
SELECT director
FROM movies
WHERE id NOT IN (SELECT movie_id FROM stars_in_movies WHERER star_id = %s);
SELECT first_name, last_name
FROM stars
WHERE id NOT IN (SELECT star_id
FROM stars_in_movies
WHERE movie_id IN(SELECT movie_id
FROM stars_in_movies
WHERE star_id = %s))
Run Code Online (Sandbox Code Playgroud)
我尝试替换NOT IN为INNER JOIN,LEFT JOIN但到目前为止没有任何尝试过。
以下是表的架构:
电影:
- id (primary key),
- title (title of the movie),
- year (year of release)
- director (director of the movie)
Run Code Online (Sandbox Code Playgroud)
星星:
- id (primary key) …Run Code Online (Sandbox Code Playgroud)