我想做的事似乎很简单.我想选择一些雇主,我想要包括按年和季度降序排序的最后6个季度数据记录.
考虑表达式:
var query = from e in data.Employer.Include("EmployerQuarterly")
where e.UIAccount == 22
select e;
Run Code Online (Sandbox Code Playgroud)
我走在正确的轨道上,因为我获得了我想要的7个雇主记录,并且每个记录都包含所有季度数据.现在我所要做的就是订购数据并只选择前6条记录.
此表达式通过但不限制6来完成订单.
var query = from e in data.Employer.Include("EmployerQuarterly")
from q in e.EmployerQuarterly
where e.UIAccount == 22
orderby q.Year descending, q.Quarter descending
select e;
Run Code Online (Sandbox Code Playgroud)
上面的查询也有两个不希望的副作用.我现在回来了208条记录,而不是原来的7条记录,而且我不再找回任何雇主季度数据!
我不想牺牲我急切的装载.我对L2E的要求是什么?
假设我有一个非常长的表(约3500万行),名为TimeCard,只有5列(tableID,CompanyID,UserID,ProjectID,DailyHoursWorked,entryDate).这是一个非常直接的表格,记录员工每个公司每个项目每天的工作时间.
我现在需要生成一份报告,以了解员工每个项目每个月的总工时数.我希望构建一个类似于表的数据结构,而不是执行报表运行时所需的聚合,我希望按月汇总所有公司/项目/用户数据,因此当报表运行时,我可以直接查询该数据结构没有执行任何运行时聚合,因为~3500万条记录可能需要几分钟.
所以我有两种不同的方式.一个创建一个额外的物理表(CompanyID,UserID,ProjectID,MonthlyHoursWorked,Month)作为我的列,只需在TimeCard表中使用trigger来修改额外表中的值.或者我可以创建索引视图.所以我试过了两个.我首先使用以下代码尝试了索引视图:
CREATE VIEW [dbo].[vw_myView] WITH SCHEMABINDING AS
SELECT
JobID,
ProjectID,
Sum(DailyHoursWorked) AS MonthTotal,
DATEADD( Month, DATEDIFF( Month, 0, entryDate), 0 ) AS entryMonth,
CompanyID,
COUNT_BIG(*) AS Counter
FROM
dbo.TimeCard
Group By DATEADD( Month, DATEDIFF( Month, 0, entryDate ), 0 ), JobID, ProjectID, CompanyID
Go
CREATE UNIQUE CLUSTERED INDEX [IX_someIndex] ON [dbo].[vw_myView]
(
[CompanyID] ASC,
[entryMonth] ASC,
[UserID] ASC,
[ProjectID] ASC
)
Run Code Online (Sandbox Code Playgroud)
索引视图正确创建,总计约500万行.
但是,每次如果我清除SQL缓存,并运行以下查询:*select*from vw_myView where companyID = 1*,则需要将近3分钟.如果我按照上面提到的那样使用额外的表路由,清除了我的缓存,大约需要4秒钟.
我的问题是,索引查看这个特定场景的错误选择吗?特别是我有兴趣知道每次更改基础表(TimeCard)或对其运行查询时是否重新计算/重新聚合整个索引视图?
谢谢!
我正在编写一个脚本来输出Google AnalyticsAPI数据,并使用Google Charts API将其插入条形图.当我在URL中有这样的字符串时,我得到了所需的结果.
gaFeedData.php?y[]=2009&y[]=2010&m[]=1&m[]=2
Run Code Online (Sandbox Code Playgroud)
但是,当我在URL中有以下字符串时,我收到一个错误:致命错误:不能在第56行的gaFeedData.php中使用字符串偏移量作为数组
(m [] = 8可与m [] = 9互换.无论出于何种原因,m [] = 10,m [] = 11且m [] = 12工作.)
gaFeedData.php?y[]=2009&y[]=2010&m[]=8
Run Code Online (Sandbox Code Playgroud)
另请注意,GA 确实有这几个月的数据.
我的PHP代码如下,遗漏了身份验证信息:
_config.php:
<?php
$accountType = 'GOOGLE'; // DONT EDIT! // Account type
$source = 'report'; // DONT EDIT! // Application name
$accountName = 'user@gmail.com'; // User's email
$accountPass = 'password'; // User's password
$clientName = 'useratgmail'; // Client's name
$goalid = $_GET['goal'];
$startdate = $_GET['startdate'];
$enddate = $_GET['enddate'];
$y[0] = 0;
$m[0] = …
Run Code Online (Sandbox Code Playgroud) 如何修剪PHP数组并删除所有空索引
Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] => 4
[8] => 6
[9] =>
)
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的
Array
(
[0] => 4
[1] => 6
)
Run Code Online (Sandbox Code Playgroud) 我是Git的新手.让我们说Alice和Bob一直在开发他们的项目,每个都使用两个Git存储库.并且,Alice在某些时候想要建立一个新的存储库来管理他们的共同进步.你认为在Git配置中替换remote.origin.url的最佳方法是什么?
PHP中是否有任何反射/内省/魔术可以让你找到定义特定类(或函数)的PHP文件?
换句话说,我有一个PHP类的名称,或一个实例化的对象.我想将此传递给某些东西(函数,Reflection类等),它将返回定义类的文件系统路径.
/path/to/class/definition.php
Run Code Online (Sandbox Code Playgroud)
我意识到我可以使用(get_included_files())
获取到目前为止已包含的所有文件的列表,然后手动解析它们,但这是一次尝试的大量文件系统访问.
我也意识到我可以在我们的__autoload机制中编写一些额外的代码来缓存这些信息.但是,在我想到的情况下,修改现有的__autoload是不受限制的.
听说可以做到这一点的扩展会很有趣,但我最终会喜欢可以在"库存"安装上运行的东西.
说我有以下代码:
class Parent
{
static string MyField = "ParentField";
public virtual string DoSomething()
{
return MyField;
}
}
class Child : Parent
{
static new string MyField = "ChildField";
}
Run Code Online (Sandbox Code Playgroud)
现在我希望能够做到以下两点:
Console.WriteLine(Parent.MyField);
Console.WriteLine(Child.MyField);
Run Code Online (Sandbox Code Playgroud)
这些工作按预期工作,但我也想这样做:
Child c = new Child();
Console.WriteLine(c.DoSomething());
Run Code Online (Sandbox Code Playgroud)
因为没有为Child类定义DoSomething(),所以返回了Parent的MyField,但我想要的是Child的MyField.
所以我的问题是:我有什么方法可以做到这一点?
注意:覆盖Child类中的方法是一个选项,但由于我将从Parent继承许多Child类,并且该方法应该在所有这些中执行相同的操作,因此更改此方法中的某些内容会带来很多麻烦.
我试图自动创建这样的东西:
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
Run Code Online (Sandbox Code Playgroud)
通过循环范围内的范围.我一直在尝试这样的事情,还有其他一些变化:
# in a model class
for i in range(1, prim+1):
self.fields['asdf'] = forms.CharField(label=i)
# in the template
<form action='#' method='post'>
{{form.as_p}}
</form>
Run Code Online (Sandbox Code Playgroud)
但我没有运气.
如何自动化输入数组?
**编辑**为了澄清,最终我需要能够访问模板中的字段,如下所示:
{% for input in form.fields.asdf %}
{{input}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
那将有希望得到我上面显示的原始输入列表...
为jQuery插件创建静态变量的最佳方法是什么?
到目前为止,我有两个示例用例来说明我的想法; 每个人都有一些想法.
当然欢迎任何其他想法......
一个例子是静态变量,包含:动画设置,布局设置,产品细节等; 另一个用于静态变量缓存数据.
我希望'静态'是正确的终结点......单个全局变量.如果错了请更正.
案例1:用于设置
// defining globally
var anObject = {
value1 = 0;
value2 = 0;
}
jQuery.anObjectSet(partialObject) {
anObject = jQuery.extend(anObject, partialObject);
}
jQuery.fn.myPlugin = function (partialObject) {
obj = jQuery.extend(anObject, partialObject);
}
Run Code Online (Sandbox Code Playgroud)
或者可能?
// adding to the jQuery object
jQuery.anObject = {
value1 = 0;
value2 = 0;
}
jQuery.anObjectSet(partialObject) {
jQuery.anObject = jQuery.extend(jQuery.anObject, partialObject);
}
jQuery.fn.myPlugin = function (partialObject) {
obj = jQuery.extend(jQuery.anObject, partialObject);
}
Run Code Online (Sandbox Code Playgroud)
或者可能?
jQuery.anObjectSet(partialObject) {
if(!jQuery.anObject)
jQuery.anObject = { …
Run Code Online (Sandbox Code Playgroud) 我可以看到Collections.unmodifiableSet
返回给定集合的不可修改的视图但我不明白为什么我们不能只使用final
修饰符来完成此操作.
在我的理解中,final
声明一个常量:无法修改的东西.因此,如果将一个集合声明为常量,则无法修改它:无法从集合中删除任何内容,也无法添加任何内容.
我们为什么需要Collections.unmodifiableSet
?
php ×3
arrays ×2
c# ×1
c#-3.0 ×1
class ×1
django ×1
django-forms ×1
final ×1
git ×1
indexed-view ×1
java ×1
jquery ×1
linq ×1
python ×1
reflection ×1
sql ×1
sql-server ×1
string ×1
trim ×1
unmodifiable ×1