小编Ser*_*lan的帖子

使用mongodump和mongodb地图集

由于某种原因,我无法使用连接字符串连接到地图集,而不是使用mongo使用mongodump.我尝试过所有类型的字符串.

因此,当我用mongodump替换mongo或者我得到时,我得到"不允许位置参数"

当我将主机从"mongo:// replset1:27017,replset2:27017,replset3:271017/test?replicaSet = replicaSetName"更改为--host replicaSetName/replset1:27017时,"失败:错误连接到db:无法访问的服务器" ,复制集:27017,replset3:27017

任何人都知道这里的问题是什么.

记住我可以使用mongo客户端建立连接.

mongodb

9
推荐指数
7
解决办法
8863
查看次数

如何搜索包含JSON数组的SQL列

我有一个SQL列,它有一个JSON数组:

{"names":["Joe","Fred","Sue"]}
Run Code Online (Sandbox Code Playgroud)

给定一个搜索字符串,我如何使用SQL在names数组中搜索匹配?我正在使用SQL 2016并查看了JSON_QUERY,但不知道如何在JSON数组上搜索匹配项.像下面这样的东西会很好.

SELECT *
FROM table
WHERE JSON_QUERY(column, '$.names') = 'Joe'
Run Code Online (Sandbox Code Playgroud)

sql t-sql arrays sql-server-2016 json-query

9
推荐指数
1
解决办法
8492
查看次数

SQL Server 2016在JSON数组中选择位置

我有一个表[JsonTable],列[JsonData]保存json字符串,

JsonData像:

{
   "Names": ["John", "Joe", "Sam"]
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能像这样内部连接该表:

SELECT* FROM [TestTable] AS T
INNER JOIN [JsonTable] AS J ON T.[Name] IN JSON_QUERY(J.[JsonData], '$.Names')
Run Code Online (Sandbox Code Playgroud)

sql-server inner-join sql-server-2016 json-query

6
推荐指数
2
解决办法
2250
查看次数

如何根据期间复制数据记录?

我有一个定期的数据集。但是,这些时间段不是连续的。我的数据模式就是这样

Period  Customer_No Date        Product
1       111         01.01.2017  X
3       111         05.09.2017  Y
8       111         02.05.2018  Z
6       222         02.02.2017  X
9       222         06.04.2017  Z
12      222         05.09.2018  B
15      222         02.01.2019  A
Run Code Online (Sandbox Code Playgroud)

所有客户的期末应为15。我想根据客户创建连续的期间,并用以前的数据填充它们,如下所示:

Period  Customer_No Date        Product
1       111         01.01.2017  X
2       111         01.01.2017  X
3       111         05.09.2017  Y
4       111         05.09.2017  Y
5       111         05.09.2017  Y
6       111         05.09.2017  Y
7       111         05.09.2017  Y
8       111         02.05.2018  Z
9       111         02.05.2018  Z
10      111         02.05.2018  Z
11      111 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

6
推荐指数
1
解决办法
60
查看次数

按x排序然后按SQL Server中的y列排序

考虑像这样的表

   debit    credit  code
-----------------------------
    0       10      5
    5       0       3
    0       11      2
    0       15      1
    7       0       6
    6       0       2
    5       0       1
Run Code Online (Sandbox Code Playgroud)

我需要生成一个这样的结果集,首先是借记,然后按代码列排序:

debit   credit  code
----------------------------
5       0       1
6       0       2
5       0       3
7       0       6
0       15      1
0       11      2
0       10      5
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

5
推荐指数
1
解决办法
1393
查看次数

有没有更有效的方法来返回SQL中最大空间交集的记录?

我在SQL中有两个表。第一个是项目多边形。第二个是我要基于最大空间交集应用于多边形的任何边界。

例如,如果项目1重叠2个状态,我想返回项目1所在区域最多的状态名称。

我已经完成了下面的查询。PrjID是项目表,STATE是状态表。我想根据每个PrjID记录和STATE记录之间的最大交集返回statename。

SELECT *
FROM
(SELECT a.PROJECT_DELIVERY_ID, b.statename, a.Shape.STIntersection(b.Shape).STArea() AS Area
    FROM PrjID a
        INNER JOIN STATE b
            ON a.Shape.STIntersects(b.Shape) = 1) as c
INNER JOIN
(SELECT a.PROJECT_DELIVERY_ID, MAX(a.Shape.STIntersection(b.Shape).STArea()) AS Area
    FROM PrjID a
        INNER JOIN STATE b
            ON a.Shape.STIntersects(b.Shape) = 1
    GROUP BY a.PROJECT_DELIVERY_ID) as d
ON c.PROJECT_DELIVERY_ID = d.PROJECT_DELIVERY_ID
    AND c.Area = d.Area
Run Code Online (Sandbox Code Playgroud)

我感觉我在运行相同的查询两次并将它们加入。有没有更有效的方法可以做到这一点?

谢谢

sql sql-server geometry

5
推荐指数
1
解决办法
64
查看次数

MongoDB Aggregate 如何配对相关记录进行处理

我在 MongoDB 数据库中捕获了一些事件数据,其中一些事件成对发生。

例如:DOOR_OPEN 和 DOOR_CLOSE 是两个成对发生的事件

事件集合:

{ _id: 1, name: "DOOR_OPEN", userID: "user1", timestamp: t }
{ _id: 2, name: "DOOR_OPEN", userID: "user2", timestamp: t+5 }
{ _id: 3, name: "DOOR_CLOSE", userID: "user1", timestamp:t+10 }
{ _id: 4, name: "DOOR_OPEN", userID: "user1", timestamp:t+30 }
{ _id: 5, name: "SOME_OTHER_EVENT", userID: "user3", timestamp:t+35 }
{ _id: 6, name: "DOOR_CLOSE", userID: "user2", timestamp:t+40 }
...
Run Code Online (Sandbox Code Playgroud)

假设记录按时间戳排序, _id: 1 和 _id: 3 是“user1”的“配对”。_id: 2 和 _id: 6 是“user2”。

我想为每个用户获取所有这些 DOOR_OPEN 和 …

aggregate mongodb

5
推荐指数
1
解决办法
53
查看次数

舍入,上限2小数点

我想将一些小数点后两位为1的数字四舍五入。但是,我总是希望它对列中数字列表的1个例子进行四舍五入。 amount

140.08 = 140.1
141.63 = 141.7
Run Code Online (Sandbox Code Playgroud)

如果我使用round(141.63,1)等于142.6,但是我希望所有小数点都向上取整,类似于上限函数。我想要141.7

有什么帮助会很棒吗?

谢谢唐

sql sql-server rounding ceil

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

数字总和直到达到个位数

我设置了一个算法,它对一个数字的数字求和,但我无法达到个位数。它只工作一步。

例如:

a=2, b=8
a^b=256 = 6+5+2 = 13
Run Code Online (Sandbox Code Playgroud)

但我想达到个位数,例如:

a^b=256 = 6+5+2 = 13 = 3+1 = 4

你可以在下面看到我的代码。

a = int(input("Enter a value"))
b = int("Enter second value")

number = pow(a, b)
sum= 0
while float(number) / 10 >= .1:

    m = number % 10
    sum += m
    number = number // 10

    if float(number) / 10 > .1:
       print(m, end=" + ")
    else:
       print(m, "=", sum)
Run Code Online (Sandbox Code Playgroud)

python

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

使用多列的列表理解

我有一个 Pandas 数据框,其中有一列用于实际值和预测值。我想使用列表理解创建一个新列,当实际值 = 预测时 = 1,否则为 0。我知道如何使用 np.where 做到这一点,但我很想知道如何使用列表理解来做到这一点。

这使用np.where

combined['correct'] = np.where(combined.actual==combined.predicted, 1, 0)
Run Code Online (Sandbox Code Playgroud)

谢谢!

python pandas

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

如何使用sql server在特定列wrt插入顺序上区分?

这里我有一个sql表,如下所示

---------------------------
   id | element | parent_id
---------------------------     
    1  |   La   |    1
    2  |   Ce   |    1
    3  |   Pr   |    1
    4  |   Nd   |    1
    5  |   Sm   |    1
    6  |   La   |    1
    7  |   Ce   |    1
    8  |   Pr   |    1
    9  |   Nd   |    1
   10  |   Sm   |    1
   11  |   La   |    2
   12  |   Ce   |    2
   13  |   Pr   |    2
   14  |   Nd   |    2
   15  | …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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