小编Rau*_*uno的帖子

具有多个左连接的 SQL 重复行

我目前面临以下问题:我需要从中获取信息的 3 个表,并且这两个连接都是一对多的。出于某种原因,第二个连接创建了重复的行,结果第二个返回值变得混乱(bb.count 乘以第二个连接行的数量)

SELECT aa.id, sum(bb.count), count(DISTINCT cc.id)
FROM aaaa aa
LEFT JOIN bbbb bb ON bb.aa_id = aa.id
LEFT JOIN cccc cc ON cc.bb_id = bb.id
GROUP BY aa.id
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有其他查询的情况下获得正确的 bb.count 总和?我删除第二个左连接的那一刻一切都很好,不幸的是我需要它作为第三个返回值,并且我无法将它们分组而不导致结果重复(排序)行。

可以说有

bb1.count = 9
bb2.count = 5
Run Code Online (Sandbox Code Playgroud)

有 2 行,cc.bb_id = bb1.id 我得到的结果是 23 而不是 14。

postgresql left-join duplicates

8
推荐指数
1
解决办法
4820
查看次数

Vert.x java List <Futures>参数化

前几天我遇到了Vert.x期货的一个奇怪的问题,它没有破坏代码但是让我感到困扰.

没有参数的Future会产生以下警告:

未来是一种原始类型.应该参数化对泛型类型Future的引用

添加参数,解决问题:

Future<YourClassName> future = ...
Run Code Online (Sandbox Code Playgroud)

处理期货清单时,您也可以将其参数化:

List<Future<YourClassName>> future = ...
Run Code Online (Sandbox Code Playgroud)

CompositeFuture.all()似乎无法处理参数化列表并强制您删除参数.

是否有任何方法可以使参数化的期货清单工作,CompositeFuture或者我们是否只需忽略该警告?它没有破坏任何东西,但仍然很高兴找到一个解决方案来摆脱这个警告.

java future list vert.x

7
推荐指数
1
解决办法
814
查看次数

Java8流集合中对象属性的平均值

我是Java的新手,所以如果已经在其他地方回答了这个问题,那么我要么不知道搜索正确的内容还是我无法理解答案.

所以问题是:我在列表中有一堆对象:

try(Stream<String> logs = Files.lines(Paths.get(args))) {

        return logs.map(LogLine::parseLine).collect(Collectors.toList());


    }
Run Code Online (Sandbox Code Playgroud)

这就是添加属性的方式:

        LogLine line = new LogLine();
    line.setUri(matcher.group("uri"));
    line.setrequestDuration(matcher.group("requestDuration"));
    ....
Run Code Online (Sandbox Code Playgroud)

如何对日志进行排序,以便最终得到列表,其中具有相同"uri"的对象仅以平均requestDuration显示一次.

例:

         object1.uri = 'uri1', object1.requestDuration = 20;
         object2.uri = 'uri2', object2.requestDuration = 30;
         object3.uri = 'uri1', object3.requestDuration = 50;
Run Code Online (Sandbox Code Playgroud)

结果:

        object1.uri = 'uri1', 35;
        object2.uri = 'uri2', 30;
Run Code Online (Sandbox Code Playgroud)

提前致谢!

sorting collections average java-8 java-stream

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

Jest:模拟传递给构造函数的依赖项

我一直试图模拟通过构造函数传入的类,并且到目前为止我遇到的所有示例都在构造函数内初始化了依赖项。根据我的理解,jest 用其重写的构造函数替换了此类依赖项,但因为我自己传递依赖项,所以在初始化时我需要一个可以通过的实例UnderTest

对于它的价值,我理想地寻找 Mockito 式的行为,类似的东西。

const mockedDependency = ???
const underTest = new UnderTest(mockedDependency)

...
Proceed to write tests for underTest

Run Code Online (Sandbox Code Playgroud)

这是我要测试的代码。请假设它MockedDependency有自己的依赖项,也传递给构造函数。

export default class UnderTest {

  private mockedDependency : MockedDependency

  constructor(mockedDependency: MockedDependency) {
    this.mockedDependency = mockedDependency
  }

  public methodUnderTest(parameter: string) {
    const mockedResult = this.mockedDependency.returnSomething(parameter)
    return this.doSomethingElse(mockedResult)
  }

  public methodUnderTest2(parameter1: string, parameter2: string) {
    const mockedResult = this.mockedDependency.returnSomething2(parameter1, parameter2)
    return this.doSomethingElse(mockedResult)
  }

  private doSomethingElse(mockedResult: string) {
    return mockedResult
  }
}
Run Code Online (Sandbox Code Playgroud)

您将如何进行单元测试UnderTest课程?mockedDependency在每个测试中或通过输入设置方法结果的方法的奖励点。 …

unit-testing node.js typescript koa jestjs

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