我有两张桌子:
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)
如果它可能更喜欢简单而不是解决方案的复杂性
我需要开发一个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) AWS发送此电子邮件:
基本上它说我正在使用1个云观察警报,预测是31个.事实上,目前我没有使用任何AWS服务,事实上如果我去每个地区的cloudwatch这是输出:
我还应该检查什么?请注意,结算当然是0美元
当我使用查询生成器时,我总是发现自己在做这样的事情:
$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()吗?查询生成器是否允许这样的事情?
在一次采访中,我被问到了以下问题:
Write a function to print first n prime numbers
Run Code Online (Sandbox Code Playgroud)
该函数如下所示:
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 个质数)
那么我们如何表达给定的时间复杂度呢?
我想知道为什么这是合法的:
Object mystring = "hello";
System.out.println(mystring);
Run Code Online (Sandbox Code Playgroud)
这打印hello.但为什么Object会像字符串一样对待?
我试图像这样使用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)
它有效,有什么原因吗?