小编Aak*_*shM的帖子

聚合函数,用于选择与另一个成功聚合函数对应的列的值匹配

对不好的主题感到抱歉.我想不出更好的一个,我赶时间.

说我有以下表格:

  • ID
  • 名称
  • ...

儿童

  • ID
  • 的ParentId
  • 年龄
  • ...

父母和孩子之间存在一对多的关系.

现在我想构建一个返回所有父母及其最小孩子的查询.我希望结果是这样的:

结果

  • Parent.Id
  • Child.Id
  • Child.Age

每个Parent.Id在结果中也应该只有一行.

这是一个解释我想要的图像

http://i.stack.imgur.com/L6PjL.png

这就是我现在所处的位置:

SELECT   
Parent.Id AS ParentId,
Child.Id AS ChildId, 
MIN(Child.Age) AS ChildAge -- OVER (PARTITION BY Parent.Id) AS ChildAge
FROM Parent JOIN Child ON Parent.Id = Child.ParentId
GROUP BY Parent.Id, Child.Id
Run Code Online (Sandbox Code Playgroud)

我想要的是一个聚合函数来放置Child.Id,它将获取对应于MIN(Child.Age)行的Child.Id.我找不到任何这样的东西,我似乎无法模仿这种行为.

任何帮助深表感谢!

sql sql-server

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

FileStream.ReadByte:字节永远不是负数?

来自msdn:

FileSystem.ReadByte
转换为Int32的字节,如果已到达流的末尾,则为-1.

所以-1基本上是一个"神奇的价值".这是否意味着从流返回的字节永远不会是负数?如果没有,为什么不呢?

.net c# filestream

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

Log4net SMTPAppender是否异步发送电子邮件?

Log4net是否SMTPAppender异步发送电子邮件?如果没有,我如何异步发送日志邮件?

我的log4net.config是:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  <log4net>
    <appender name="SMTPAppender" type="log4net.Appender.SMTPAppender">
      <authentication value="Basic" />
      <to value="xxx@xx.com" />
      <from value="yyy@xx.com" />
      <username value="yyy@xx.com" />
      <password value="yyy" />
      <subject value="xxx" />
      <smtpHost value="smtp.xx.com" />
      <lossy value="true" />
      <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="WARN" />
      </evaluator>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%date [%thread] %-5level %logger %newline %message%newline%newline%newline" />
      </layout>
    </appender>
    <root>
      <level value="INFO"></level>
    </root>
    <logger name="MyLogger">
      <level value="INFO"></level>
      <appender-ref ref="SMTPAppender"></appender-ref>
    </logger>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

asp.net log4net

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

特定字符串的排列数可以被数字整除

例如,假设我有一个10位数的多集S = { 1, 1, 2, 2, 2, 3, 3, 3, 8, 9 }.有没有除暴力之外的任何方法来找到元素的不同排列的数量,S这样当排列被视为十位整数时,它可被特定数字整除nn将在范围110000.

例如:

if S = { 1, 2, 3, 4, 6, 1, 2, 3, 4, 6 }n = 10,结果是0(因为没有那10个数字的排列将给出一个可被10整除的数字)

如果S = { 1, 1, 3, 3, 5, 5, 7, 7, 9, 2}n = 2,结果是9! / 2^4(因为我们必须2在最后,有9!方法来置换其他元素,但有四对相同的元素)

algorithm math

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

无法让Android 4.0 Split Action Bar正常工作

我已经按照android开发网站上的开发页面进行了操作,但我无法将操作栏拆分为屏幕的顶部和底部.

我有一个菜单xml定义了几个选项:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/stop_services"
    android:icon="@drawable/ic_launcher"
    android:title="@string/stop" 
    android:showAsAction="ifRoom|withText"/>
  <item android:id="@+id/start_services"
    android:icon="@drawable/pushpin"
    android:title="@string/start" 
    android:showAsAction="ifRoom|withText"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

在我的清单中,我将uiOption设置为:

<activity
  android:label="@string/app_name"
  android:name=".ProxilenceHome" 
  uiOptions="splitActionBarWhenNarrow" >
Run Code Online (Sandbox Code Playgroud)

我在活动中加载菜单项如下:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.home_menu, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

但是在测试应用程序时,操作栏永远不会分裂.有谁知道这个问题/如果我错过了什么?

非常感谢.

android android-4.0-ice-cream-sandwich android-actionbar

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

Theme.Translucent在ICS上失败

我正在使用: android:theme="@android:style/Theme.Translucent.NoTitleBar"

结合: getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

要获得漂亮的透明背景模糊效果,请模拟对话框样式.

这在2.3及以下版本中效果很好,但在运行ICS/3.0及更高版本的设备上它是纯色(读取不透明).我知道他们介绍了一个全息主题,似乎没有一个特定的Theme.Holo.Translucent主题.关于如何在ICS和旧版本上获得半透明背景的任何想法,我不反对使用在值-v11中定义的单独主题.

android themes android-4.0-ice-cream-sandwich

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

Python:文件不读取整个文件,io.FileIO确实 - 为什么?

以下代码在Windows上的 python 2.7.2中执行,只读取基础文件的一小部分:

import os

in_file = open(os.path.join(settings.BASEPATH,'CompanyName.docx'))
incontent = in_file.read()
in_file.close()
Run Code Online (Sandbox Code Playgroud)

而这段代码工作得很好:

import io
import os

in_file = io.FileIO(os.path.join(settings.BASEPATH,'CompanyName.docx'))
incontent = in_file.read()
in_file.close()
Run Code Online (Sandbox Code Playgroud)

为什么不同?从我对文档的阅读中,它们的表现应该相同.

python io

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

XmlSerializer - >不区分大小写

我想知道是否有办法使用XmlSerializer反序列化具有不同外壳的对象.

让我们说我的目标是

Class A
{
  public String Str{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我有以下XML文件,id喜欢反序列化:

<root><StR>Hello</StR></root>

<root><STR>Hello</STR></root>

<root><str>Hello</str></root>
Run Code Online (Sandbox Code Playgroud)

任何建议/想法?也欢迎操纵DOM等方法:)

问候

c# xml-serialization

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

删除主键(聚簇索引)以提高插入性能

我们一直在经历SQL超时,并确定该瓶颈是审计表 - 我们系统中的所有表都包含插入,更新和删除触发器,这会导致新的审计记录.

这意味着审计表是系统中最大且最繁忙的表.然而,数据只会进入,并且永远不会出现(在此系统下),因此不需要select执行任何性能.

select top 10最近运行一个返回记录而不是"第一个"记录. order by当然可以工作,但是我希望选择顶部应该根据它们在光盘上的顺序返回行 - 我希望它会返回最低的PK值.

有人建议我们删除聚集索引,实际上也是主键(唯一约束).正如我之前提到的,select在这个系统中没有必要从这个表中获取.

聚集索引在表上创建什么样的性能?拥有无索引,非聚集,无密钥表的(非选择)分支是什么?还有其他建议吗?

编辑

我们的审计涉及CLR功能,我现在使用和不使用PK,索引,FK等进行基准测试,以确定CLR功能和约束的相对成本.

经过调查,表现不佳与insert陈述无关,而是与编制审计的CLR功能无关.删除CLR后使用直接TSQL proc,性能提高了20倍.

在测试期间,我还确定聚簇索引和标识列对插入时间的影响很小或没有差别,至少相对于发生的任何其他处理而言.

// updating 10k rows in a table with trigger

// using CLR function
PK (identity, clustered)- ~78000ms
No PK, no index - ~81000ms

// using straight TSQL
PK (identity, clustered) - 2174ms
No PK, no index - 2102ms
Run Code Online (Sandbox Code Playgroud)

primary-key clustered-index sql-server-2008 database-performance

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

检查类似字段事件后面生成的字段上的属性

给出以下类定义

public class MyClass
{
    [System.ComponentModel.Browsable(true)]
    [field:NonSerialized]
    public event EventHandler MyEvent;
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中的其他地方,我想看到事件的属性.

var attributes = typeof(MyClass)
                     .GetEvents()
                     .SelectMany(n => n.GetCustomAttributes(true));
Run Code Online (Sandbox Code Playgroud)

但我只看到BrowsableAttribute属性集合.

如何获取field:NonSerialized属性信息?

c# reflection attributes

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