我有两个表career_types和bookings
career_types
id | name
1 | foo
2 | bar
3 | baz
预订
id | career_type_id | details
1 | 1 | foo
2 | 1 | bar
3 | 2 | baz
我的预订表中有很多关于所有职业类型的条目,但career_types.id为3除外。
我想要一个查询,该查询将列出我所有的career_types.name以及每个预订有多少个,并且在career_types.id = 1的情况下,没有预订。我想返回0。
到目前为止,我一直在尝试
的变体SELECT career_types.name, sum(bookings.id)
FROM career_types
LEFT JOIN bookings ON (career_types.id = bookings.career_type_id)
GROUP BY career_types.id
我正在寻找的结果是
career_types.name | sum
foo | 2
bar | 1
baz | 0
但是目前我无法获得baz的任何输出。
答案 0 :(得分:0)
聚合函数的计算中仅包含非空值。对于SUM和大多数聚合函数,如果未遇到非null值,则结果为null。如果需要零而不是零,则可以使用以下方法简单解决:
package viikkotehtavat;
import java.util.ArrayList;
import java.util.List;``
import java.util.Scanner;
public class Lengthofwords {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<String> words = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
System.out.print("Syötä sana " + i + "/5: ");
words.add(sc.nextLine());
}
int sum = 0;
System.out.println("\nTotal amount of letters in the words are: " + sum);
sc.close();
}
}