小编giò*_*giò的帖子

加入包含多个记录的第二个表,采取最新的记录

我有两张桌子:

person_id | name
1            name1
2            name2
3            name3
Run Code Online (Sandbox Code Playgroud)

和第二个表:

person_id | date     | balance
1           2016-03     1200                    ---- \
1           2016-04     700                     ----  > same person
1           2016-05     400                     ---- /
3           2016-05     4000
Run Code Online (Sandbox Code Playgroud)

考虑到person_id 1在第二个表上有三个记录,我如何才能加入第一个记录?(即:余额400,对应日期:2016-05).

例如:查询输出:

person_id | name    | balance
1           name1     400
2           name2     ---
3           name3     4000
Run Code Online (Sandbox Code Playgroud)

如果它可能更喜欢简单而不是解决方案的复杂性

sql group-by left-join greatest-n-per-group amazon-redshift

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

AWS Lambda Java,连接到MySQL RDS

我需要开发一个AWS Lambda Java函数来从RDS MySQL数据库中检索一些记录.

我应该使用JDBC吗?我应该使用标准JDBC示例:

try {
    String url = "jdbc:msql://200.210.220.1:1114/Demo";
    Connection conn = DriverManager.getConnection(url,"","");
    Statement stmt = conn.createStatement();
    ResultSet rs;

    rs = stmt.executeQuery("SELECT Lname FROM Customers WHERE Snum = 2001");
    while ( rs.next() ) {
        String lastName = rs.getString("Lname");
        System.out.println(lastName);
    }
    conn.close();
} catch (Exception e) {
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services aws-lambda

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

AWS电子邮件"您正在接近AWS免费层限制"但不是

AWS发送此电子邮件:

在此输入图像描述

基本上它说我正在使用1个云观察警报,预测是31个.事实上,目前我没有使用任何AWS服务,事实上如果我去每个地区的cloudwatch这是输出:

在此输入图像描述

我还应该检查什么?请注意,结算当然是0美元

amazon-web-services amazon-cloudwatch

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

Laravel 查询生成器firstOrFail()?

当我使用查询生成器时,我总是发现自己在做这样的事情:

    $item = \DB::table('table')->where('slug',$slug)->first();

    if ($item===null)
        throw \Exception('Not found');
Run Code Online (Sandbox Code Playgroud)

如果有像 Eloquent 这样的firstOrFail(),这个问题就很容易解决:

$item = \DB::table('table')->where('slug',$slug)->firstOrFail();
Run Code Online (Sandbox Code Playgroud)

Eloquent 是唯一的使用方法firstOrFail()吗?查询生成器是否允许这样的事情?

php sql orm laravel

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

打印第 n 个素数的复杂度

在一次采访中,我被问到了以下问题:

Write a function to print first n prime numbers
Run Code Online (Sandbox Code Playgroud)

该函数如下所示:

住在ideone上

while (true) {
  boolean isPrime = true; 
  for (int divisor = 2; divisor <= (int)(Math.sqrt(number)); divisor++) {
    if (number % divisor == 0) {
      isPrime = false;      
      break;
    }
  }
  number++;
  if(isPrime) {
    System.out.print(number + " ");
    primes++;
  }

  if (primes == n)
      break;
}
Run Code Online (Sandbox Code Playgroud)

一个简单的复杂性分析可能会导致O(n?n)
但是面试官说,outerloop 不会仅仅n因为例如找到前 100 个质数,我们需要循环到 541(即第 100 个质数)

那么我们如何表达给定的时间复杂度呢?

java math primes time-complexity asymptotic-complexity

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

为什么我们可以将字符串分配给简单的Java对象

我想知道为什么这是合法的:

Object mystring = "hello";
System.out.println(mystring);
Run Code Online (Sandbox Code Playgroud)

这打印hello.但为什么Object会像字符串一样对待?

java

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

链接方法时无法取消引用Void

我试图像这样使用PrintWriter:

new PrintWriter("/tmp/test.csv", "UTF-8")
   .println("1,1,1")
   .close();
Run Code Online (Sandbox Code Playgroud)

但Java抱怨说:

虚空无法解除引用

如果我做:

PrintWriter pw = new PrintWriter("/tmp/test.csv", "UTF-8");
pw.println("1,1,1");
pw.close();
Run Code Online (Sandbox Code Playgroud)

它有效,有什么原因吗?

java

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