小编Rei*_*ica的帖子

在SQL语句中将NOT IN替换为LEFT JOIN

我写了两个运行良好的查询,但是它们确实很慢:

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)

mysql sql database

4
推荐指数
1
解决办法
7032
查看次数

从csv文件将前1000条记录导入sql server

我需要将csv文件导入sql server表,但我只想导入csv文件的前1000条记录.

这是我的sql代码,

USE MyDB
BULK INSERT MyTable
FROM 'C:\Users\jasons\Desktop\Documents\MyFile.csv'
WITH(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
Run Code Online (Sandbox Code Playgroud)

我需要添加什么或如何更改我的代码只导入前1000条记录.

sql sql-server csv import

4
推荐指数
1
解决办法
1072
查看次数

如何清除SharePoint Designer缓存?

我workflow在SharePoint Designer 2013中创建了一个,但我无法看到我的更改.

我认为SharePoint Designer是缓存的.

如何清除此缓存?

sharepoint workflow sharepoint-designer web

4
推荐指数
1
解决办法
3219
查看次数

在达到特定值时重置cumsum

我想重置cumsum一个向量,因为它达到了一定的值.

例如,对于以下向量:

v <- c(3, 5, 2, 5, 3, 4, 5, 3, 1, 4)
Run Code Online (Sandbox Code Playgroud)

预期产量是:

c(0, 0, 10, 0, 0, 22, 0, 30, 0, 0)
Run Code Online (Sandbox Code Playgroud)

随着reset <- 10我的任务减少到完整整后标记的第一值:

res <- cumsum(v)
resd <- res/reset
resd
# [1] 0.3 0.8 1.0 1.5 1.8 2.2 2.7 3.0 3.1 3.5
Run Code Online (Sandbox Code Playgroud)

预期产量是这样的:

c(F, F, T, F, F, T, F, T, F, F) # or 
c(0, 0, 1.0, 0, 0, 2.2, 0, 3.0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我需要一种快速的方法来计算其中一种.

performance grouping r cumsum

4
推荐指数
1
解决办法
443
查看次数

从r data.frame中的每个因子级别删除前N行

随着dat下面.如何创建包含除每个IndID的前五行之外的所有值的新数据框子集?换句话说,我想要排除每个IndID的前5行的新数据帧.

set.seed(123)
dat <- data.frame(IndID = rep(c("AAA", "BBB", "CCC", "DDD"), each  = 10),
                  Number = sample(1:100,40))
Run Code Online (Sandbox Code Playgroud)

我已经看过一些选择数据的SO帖子,但我不知道如何删除如上所述.

r greatest-n-per-group dplyr

4
推荐指数
3
解决办法
6582
查看次数

根据条件在Oracle中动态重复行

继承人我所拥有的

询问

with temp as (
select 11 as x  from dual
union
select 222 as x  from dual
)
select x from temp t,(SELECT 1
          FROM DUAL 
         CONNECT BY ROWNUM <= 3)
Run Code Online (Sandbox Code Playgroud)

产量

X
--
11
222
11
222
11
222
Run Code Online (Sandbox Code Playgroud)

输出我的愿望

X
--
11
11
222    
222
222
Run Code Online (Sandbox Code Playgroud)

基本上我希望行根据列'X'值的长度重复自己.因此,如果值为'abc',则该行应重复3次

sql oracle connect-by oracle11g

3
推荐指数
1
解决办法
2059
查看次数

R:具有最大值的子集/组数据帧?

给定这样的数据框:

  gid set  a  b
1   1   1  1  9
2   1   2 -2 -3
3   1   3  5  6
4   2   2 -4 -7
5   2   6  5 10
6   2   9  2  0
Run Code Online (Sandbox Code Playgroud)

如何对gid具有最大值set且1/0 的唯一数据帧进行子集/分组,其a值是否大于其b值?

所以在这里,它是,呃......

1,3,0
2,9,1
Run Code Online (Sandbox Code Playgroud)

在SQL中有点愚蠢的简单但我希望能更好地控制我的R,所以......

r greatest-n-per-group dataframe rdata

3
推荐指数
1
解决办法
698
查看次数

R ggplot - 无法分配大向量

我试图绘制一个相对较小的数据集,但我无法让它向我展示该图。它不断给出错误Error: cannot allocate vector of size 9.7 Gb。这对我来说没有多大意义,因为数据集很小。

> nrow(locs)
[1] 130
> head(locs)
       STATION AVGTRANGE     LAT     LONG
1: USC00286979  22.13333 40.6971 -75.2042
2: USC00360022  21.33333 40.5361 -79.8152
3: USC00360132  24.37037 40.5227 -78.3694
4: USC00360140  19.80000 40.4949 -78.4667
5: USC00360147  22.36667 41.3585 -77.9262
6: USC00360457  20.68000 40.8209 -76.4983
Run Code Online (Sandbox Code Playgroud)

我是如何策划的。

gg <- ggplot(data = locs, aes(x = LONG, y = LAT)) +
  geom_raster(aes(fill=AVGTRANGE), interpolate=TRUE)
gg # can't allocate here
Run Code Online (Sandbox Code Playgroud)

这是dput我的数据。

> dput(locs)
structure(list(STATION = structure(1:130, .Label = …
Run Code Online (Sandbox Code Playgroud)

r out-of-memory ggplot2 geom-raster

3
推荐指数
1
解决办法
1255
查看次数

使用GROUP BY子句在查询中基于COUNT(*)的条件

我得到了一个表Employee,其中包含300,000条记录,其中包含以下字段:

  • 名字
  • 姓
  • 年龄
  • Location_Id

查询应返回具有超过75000条记录及其记录的location_id值。

sql group-by

2
推荐指数
1
解决办法
1062
查看次数

使用Big Query按计数从组中选择第一行

我在BigQuery中存储了超过5亿行,它基本上代表了某个时间(不规则)设备的确切位置.

我正在尝试找到一种快速有效的方法来确定设备的第一个和最后一个看到的位置.

到目前为止,我已经使用了一个连接,但它需要花费10多分钟才能完成(除非我只是查询中的限制).我也试过一个dense_rank查询,但我无法对计数进行排序(我不完全理解它).

我有一个client_id,device_id(它是固定的,代表建筑物内的位置)和时间戳.

首先,我通过client_id和device_id做了一个组,以验证我应该期待什么.然后我尝试使用最小和最大时间戳加入表:

SELECT count(FirstSet.device_id), FirstSet.device_id
FROM
(
  SELECT client_id, device_id, created_at
  FROM [mytable.visitsv3]
  WHERE secret = 'xxx'
  GROUP each BY client_id, device_id, created_at
  ORDER BY client_id, created_at asc
  LIMIT 1000
) as FirstSet
inner join
(
  SELECT client_id, device_id, min(created_at)
  FROM [mytable.visitsv3]
  WHERE secret = 'xxx'
  GROUP each BY client_id, device_id, created_at
  LIMIT 1000
) SecondSet
on FirstSet.device_id = SecondSet.device_id
GROUP BY FirstSet.device_id
ORDER BY 1 DESC
limit 25
Run Code Online (Sandbox Code Playgroud)

我是这个世界的新手,所以会很感激一些建议.正如我所说,它更多是关于性能,因为我们需要实时运行查询.

有大量关于同一概念的教程 - 我只是希望有人可以帮助优化事物.

---编辑---

输出格式应如下所示:

|count|device_id| …
Run Code Online (Sandbox Code Playgroud)

sql greatest-n-per-group google-bigquery

2
推荐指数
1
解决办法
5093
查看次数