要按月排序,请使用以下命令:
ORDER BY DATEPART(Month,Created) ASC
DatePart()
返回指定部分的整数,1 表示一月,2 表示二月等。
您的 SQL 可以使用 COALESCE() 和 ISNULL( ) 函数。这与您的第一个选择相同:
SELECT
COALESCE(tmpActivity.Year,tmpCreated.Year,tmpContactsCreated.Year) as Year,
COALESCE(tmpActivity.Month,tmpCreated.Month,tmpContactsCreated.Month) as Month,
ISNULL(tmpActivity.ActiveAccounts,0) AS ActiveAccounts,
ISNULL(tmpCreated.NewAccounts,0) AS NewAccounts,
ISNULL(tmpContactsCreated.NewContacts,0) AS NewContacts
我认为您的选择中有一个错误,我相信您的最后一行必须是这样的:
) as tmpContactsCreated ON (tmpContactsCreated.Year = tmpCreated.Year AND tmpContactsCreated.Month = tmpCreated.Month) OR
(tmpContactsCreated.Year = tmpActivity.Year AND tmpContactsCreated.Month = tmpActivity.Month)
但我必须对此进行测试以确定。
添加汇总很难做到——通常这是在控件中的 SQL 或任何显示结果的外部完成的。您可以这样做(人为的示例):
SELECT 1 as reportOrder, date, amount, null as total
FROM invoices
UNION ALL
SELECT 2 , null, null, sum(amount)
FROM invoices
ORDER BY reportOrder, date
或者您不能拥有“额外”总计列并将其放入金额列中。
这对我来说适用于 Ubuntu 10.04。我只看到有关“标题”与“宝丽来”效果一起使用的文档。
#!/usr/bin/perl
use strict;
use warnings;
use Image::Magick;
my $im = new Image::Magick;
$im->Set(size => '586x1000');
my $e = $im->ReadImage('xc:black');
$im->Polaroid(
fill => 'white',
stroke => 'black',
strokewidth => 3,
gravity => 'center',
pointsize => 78,
caption => "Lorem ipsum etc etc"
);
$e = $im->Trim();
die $e if $e;
$e = $im->Set(page=>'0x0+0+0'); # +repage
die $e if $e;
$e = $im->Write('out.png');
die $e if $e;
在您的管理仪表板上的“设置”->“永久链接,您可以为永久链接选择自定义结构,我相信这就是您正在寻找的。
使用 Boost.Thread 条件变量< /a> 如此处所示。随附的文章对 Boost.Thread 功能进行了很好的总结。
使用进程间信号量是可行的,但由于使用了不必要的重量级底层操作系统锁定原语(例如,Windows 中的命名内核对象),因此可能会给您的执行带来负担。
为了性能而“缓存”计算值是一个很好的做法,否则它将在每个循环中进行计算(如内部循环的位置):
DateTime tomorrow = DateTime.Today.AddDays(1);
DateTime now = DateTime.Now;
DateTime next24hrs = now.AddHours(24);
IEnumerable<Sample> next24HoursSamples = collection.Where(sample=>sample.expires>now && sample.expires<next24hrs).ToList();
IEnumerable<Sample> sameDaySamples = next24HoursSamples.Where(sample=>sample.expires>=now && sample.expires<tomorrow).ToList();
请注意,sameDay 列表是从已过滤的列表中检索的(same day 是接下来的 24 小时),因此需要过滤的项目较少。
编辑:我更新了代码以使用立即查询执行模型,因为 @danijels 警告延迟执行。
- 在设置端口下将硬件流控制设置为否会对您有所帮助。(
minicom -s
;转到串行端口设置 >; 最后两行是硬件和软件流控制;只需设置NO) - 打开echo(ctrl + A后打开minicom,然后按E)检查您是否发送了一些东西也是个好主意。
其他两个选项:
- 一个 JS 文件,其中包含整个站点的所有 JS。根据您的缓存设置,您应该能够让用户为整个站点仅下载一个文件,并为每个其他页面使用缓存版本。
- 根据功能而不是页面划分 JS,并包含每个页面所需的任何功能。例如,一个页面可能需要选项卡、表单验证和动画,而另一页面可能只需要选项卡。
或者,您可以混合使用这些文件:一个包含绝大多数代码的 JS 文件和一个额外的文件(如果特定页面或模板需要)。
所提到的方法都没有错误(尽管我会尽可能跳过内联 JS 方法);哪一种最好取决于您的具体情况和您的个人喜好。
是的,一切都是正确的,但我通常将 target 和 alt 属性与链接一起使用。
alt="_LITTLE_DESCRIPTION_"
当页面出现问题且图片无法加载时显示。
target="_blank"
始终在新选项卡中打开链接。这样您就可以让访问者在您的页面上停留更长时间。
<a href="_YOUR_LINK_"><img style="border:0;" src="_YOUR_PICTURE_LINK_" alt="_LITTLE_DESCRIPTION_" target="_blank" height="15" width="80"/></a>
我不确定这是否足够,但是您可以启动解释器并执行以下操作
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
您可以看到 dir 值
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'atexit']
并且从模块中,您可以将内置导入为模块
如果使用导入库调用 DLL,那么它会先查找当前目录,然后再查找 PATH。
但是,您不需要那样称呼它。您可以自己使用 LoadLibrary() 和 GetProcAddress(),然后做任何您想做的事情。如果您仅使用 dll 名称调用 LoadLibrary,它会使用与导入库相同的算法(当前目录 + 路径)——如果您传递完整路径,它将使用它。
COM 使用此技术根据注册表中 DLL 的完整路径来加载 DLL——您也可以在没有 COM 的情况下执行此操作。
除了 PATH 之外,您还可以通过其他方式搜索它 - 您可以不带路径进行调用,看看是否找到它,然后尝试注册表,然后在其他地方查找(每个驱动器的程序文件目录等)。
基本上,如果你自己调用LoadLibrary和GetProcAddress,你就可以做任何你想做的事情。
您无法在控制台应用程序中打开文件日志。
你说我有按钮,所以这一定是Win应用程序,使用
openFileDialog1.ShowDialog();失踪了
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = " XML Files|*.xml";
openFileDialog1.InitialDirectory = @"D:\";
openFileDialog1.ShowDialog();
// Get file name and use OpenFileDialog1.FileName or something like that
}
这应该可以工作,可能会引发一些错误,因为我没有在 IDE 中编译它,因为我不在开发机器 atm 上。
This should work, might throw some errors, as I didnt compile it in an IDE as im not on a Dev machine atm.
在 C# XmlSchema 中查找 schemaLocation