SQL 新手,使用 MS SQL Sever Management Studio 和 AdventureWorks 示例数据库:
试图合并两个SELECT语句,每个语句都包含一个COUNT男性和女性员工。我可以使用 UNION ALL 获得两个计数以返回同一个表上的两行。
SELECT COUNT(HumanResources.Employee.Gender) AS 'Male Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'M'
UNION ALL
SELECT COUNT(HumanResources.Employee.Gender) AS 'Female Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'F';
Run Code Online (Sandbox Code Playgroud)
但是,我试图COUNT在两个单独的列中获取每个 M/F 的 。设法让两个单独的列出现,但计数不存在。
SELECT Set1.[Male Employees], Set2.[Female Employees]
FROM
(
SELECT COUNT(Employee.Gender) AS 'Male Employees'
FROM HumanResources.Employee
WHERE Employee.Gender = 'M'
) as Set1
INNER JOIN
(
SELECT COUNT(Employee.Gender) AS 'Female Employees'
FROM HumanResources.Employee …Run Code Online (Sandbox Code Playgroud) 我有一个方法返回一个对象的计数,该对象的值高于一个对象中所有对象的平均值ArrayList.
'User'对象具有存储在其类(级别)中的整数值.
我的方法有效,但我想知道是否有更好的方法来查找所有对象值的平均值?
public int bestPlayers() {
ArrayList<User> players = new ArrayList<User>();
int bestPlayers = 0;
int totalPlayerLevel = 0;
double averageLevel = 0;
for (int i = 0; i < players.size(); i++) {
totalPlayerLevel += players.get(i).level;
}
averageLevel = totalPlayerLevel / players.size();
for (int i = 0; i < players.size(); i++) {
if (players.get(i).level > averageLevel) {
bestPlayers++;
}
}
return bestPlayers;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试计算数组的整数并将这些整数的计数存储在另一个数组中.
代码计算整数的出现次数,但继续计算不同整数的其余部分而不用计数.代码仅存储第一个整数出现的计数而没有问题.
我的问题是,当循环到达下一个整数时,计数不会重置,并继续从最后的整数计数开始计数并显示它.
如何改进我的代码以查找每个整数的整数出现?
public count() {
int k[] = {1,1,2,2};
int t[] = {0,0,0,0,0};
int count = 0;
System.out.println("reset count: "+count);
for (int f = 0; f<k.length; f++) {
for (int i =1; i < k.length-1; i++) {
for (int g = 0; g < t.length; g++ ) {
if (k[f] == i) {
count++;
System.out.println("Integer = "+i);
System.out.println("count: "+count);
t[g] = count;
}
i++;
}
}
}
System.out.println();
for (int o = 0; o < t.length; o++) { …Run Code Online (Sandbox Code Playgroud) 这是一个排序整数数组的方法.如何从输出中删除最后一个分隔符?
public void Sort(int[] sort) {
for (int a:sort) {
System.out.print(a+ ", ");
}
}
Run Code Online (Sandbox Code Playgroud)
产量
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
Run Code Online (Sandbox Code Playgroud)
期望的输出
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Run Code Online (Sandbox Code Playgroud) 我的同事说array.contains(),if在评估枚举时,我应该在声明中使用。
示例a:
if (new[] { enumvalue.a, enumvalue.b, enumvalue.c }.Contains(x.some_enum_value))
{
do_something();
}
Run Code Online (Sandbox Code Playgroud)
...与示例b相比:
if (x.some_enum_value == enumvalue.a || x.some_enum_value == enumvalue.b || x.some_enum_value == enumvalue.c)
{
do_something();
}
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用示例a而不是示例b?