对不起,如果这是愚蠢的,我真的是一个新手试图指出这一点.
Table A:
ID Rank Name
1 100 Name1
1 45 Name2
2 60 Name3
2 42 Name4
2 88 Name5
Table B:
ID FileName
1 fn1
2 fn2
Run Code Online (Sandbox Code Playgroud)
我想要的是
1 fn1 name1
2 fn2 name5
Run Code Online (Sandbox Code Playgroud)
这是我的查询的样子,但是当我进行连接时,它给了我多行结果(而不是max)
select B.Id B.FileName,A.Name
FRom B
JOIN (
select A.Id, MAX(A.Rank)as ExpertRank
from A
group by A.Id
) as NewA on A.Id = B.ID
join B on A.Rank = NewA.Rank
Run Code Online (Sandbox Code Playgroud)
子查询工作正常,我得到了加入的问题.
我该如何解决?
谢谢.
我有sql server 2008 R2
最后一个是我错过的.
select B.Id B.FileName,A.Name
FRom B
JOIN …
Run Code Online (Sandbox Code Playgroud) 我需要用一些参数启动命令窗口并在里面运行更多命令.
例如,启动test.cmd并运行mkdir.
我可以使用processstartinfo启动test.cmd,但我不确定如何运行更多命令.我可以将更多参数传递给test.cmd进程吗?
我该怎么做?
无法添加评论来回答...所以写在这里.
安德里亚,这就是我想要的.但是上面的代码对我来说不起作用.
我正在启动一个test.cmd,这是一个新的命令环境(比如razzle构建环境),我需要运行更多的命令.
psi.FileName = @"c:\test.cmd";
psi.Arguments = @"arg0 arg1 arg2";
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process p = new Process();
p.StartInfo = psi;
p.Start();
p.StandardInput.WriteLine(@"dir>c:\results.txt");
p.StandardInput.WriteLine(@"dir>c:\results2.txt");
Run Code Online (Sandbox Code Playgroud) 我有一个不超过10KB的日志文件(文件大小最多可达2 MB),我想查找文件中是否至少有一组这些字符串.这些字符串将在不同的行上,如,
行动:.......
INPUT:...........
结果:..........
如果文件中存在一组以上,我至少需要知道.我已经做了大约100次测试(每次日志不同,所以我重新加载并读取日志),所以我正在寻找最快和下注的方式来做到这一点.
我在论坛中查找找到最快的方法,但我不认为我的文件对于那些问题来说太大了.
Thansk寻找.
我正在通过Process.Start()
. 我尝试重定向输出以获取行。
但是,现在我只需要最后一行。
有没有办法只读取最后一行,还是我仍然需要整个redirectStandaroutput = false;
等?
有没有更简单的方法?
如果我必须遵循process.Redirect()
,我尝试按照 MSDN 和其他outputdatareceived
事件源上的示例进行操作,但我的输出仅在最后写入控制台并且不是异步的。
对于我的编译器测试,我需要在我的测试代码中生成此"警告无效"的警告.我怎样才能做到这一点?
使用VS cl.exe编译器
我正在尝试调试我的应用程序,但是当我使用以下命令启动 windbg 时
windbg.exe -g myapp.exe
Windbg 说“Debuggee 未连接”。然后我必须手动打破并点击开始。然后我看到“windbg 正在运行”。
我必须启动多个 windbg 会话,因此我不能选择在每个会话上按中断 + 继续。我还必须使用 -g 和 -G。
我的windbg 有什么设置不正确吗?
谢谢
我有一份清单keyvaluepair<string, int>
.
当我添加到列表中时,我检查密钥是否已经存在,我将值的计数增加到+1.如果没有,我添加新的(键,1).这就是我现在这样做的方式.有没有更好,更好的方法来做到这一点.我是LINQ的新手,但非常喜欢它.
IEnumerable<KeyValuePair<string, int>> kvp = myList.Where(x => x.Key.ToLower() == name.ToLower());
if (kvp == null || kvp.Count() == 0)
{
//Add first occurence
myList.Add(new KeyValuePair<string, int>(name, 1));
}
else
{
//Update occurence count +1 and add the new key
//TODO : Refactor
KeyValuePair<string, int> updatedKVP = new KeyValuePair<string, int>(name, kvp.FirstOrDefault().Value + 1);
myList.Remove(kvp.FirstOrDefault());
myList.Add(updatedKVP);
}
Run Code Online (Sandbox Code Playgroud)
谢谢.