我有一个大表(站点)有几个数字列 - 比如说a到f.(这些是来自不同组织的网站排名,例如alexa,google,quantcast等.每个都有不同的范围和格式;它们是来自外部数据库的直接转储.)
对于许多记录,这些列中的一个或多个为空,因为外部DB没有数据.它们都涵盖了我的数据库的不同子集.
我希望列t是它们的加权平均值(每个a..f都有我赋予的静态权重),忽略空值(可以出现在任何一个中),除非它们全部为空,否则为null.
我更喜欢用简单的SQL计算来做这件事,而不是在应用程序代码中使用它,或者使用一些巨大的丑陋嵌套if块来处理每个空值的排列.(鉴于我添加了更多的外部数据库源,我的平均列数越来越多,这将是指数级更难看和容易出错的.)
我会使用AVG,但这仅适用于分组,而且这是一个记录中的w /.数据在语义上可以为空,我不想平均一些"平均"值代替空值; 我想只计算数据所在的列.
有没有办法做到这一点?
理想情况下,我想要的是像UPDATE sites SET t = AVG(a*@a_weight,b*@b_weight,...)任何空值被忽略并且没有发生分组的情况.
编辑:我最终使用的,基于van's并添加正确的加权平均值(假设a已根据需要进行了规范化,在本例中为浮点数0-1(1 =更好):
UPDATE sites
SET t = (@a_weight * IFNULL(a, 0) + ...) / (IF(a IS NULL, 0, @a_weight) + ...)
WHERE (IF(a IS NULL, 0, 1) + ...) > 0
Run Code Online (Sandbox Code Playgroud) 我前段时间问过一个帐户,我不记得如何操纵基本指针,有人给了我一个非常好的演示
例如
char *ptr = "hello" (hello = a char array)
Run Code Online (Sandbox Code Playgroud)
所以现在*ptr指向h
ptr++ =移动ptr指向下一个元素,得到它的值我做*ptr,这给了我e
好吧到目前为止我希望:D但是现在我需要操纵一个char **ptr并且想知道我是如何以一种模仿二维阵列效果的方式做到这一点的?
一些基本提示将非常感激,因为我需要做一个**ptr模仿二维数组的任务,而不知道它是如何做到这首先意味着我甚至无法在纸上解决它(例如,你如何解除引用**ptr ,你如何获得[x] [y]值等)
谢谢
我在jQuery的ajax调用中遇到错误.
这是我的jQuery函数:
function DeleteItem(RecordId, UId, XmlName, ItemType, UserProfileId) {
var obj = {
RecordId: RecordId,
UserId: UId,
UserProfileId: UserProfileId,
ItemType: ItemType,
FileName: XmlName
};
var json = Sys.Serialization.JavaScriptSerializer.serialize(obj);
$.ajax({
type: "POST",
url: "EditUserProfile.aspx/DeleteRecord",
data: json,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function(msg) {
if (msg.d != null) {
RefreshData(ItemType, msg.d);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("error occured during deleting");
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的WebMethod:
[WebMethod]
public static string DeleteRecord(Int64 RecordId, Int64 UserId, Int64 …Run Code Online (Sandbox Code Playgroud) 我从表弟那里得到了这个问题:
"创建类似工作网站的最佳方式是:http://www.plakletters.nl ".我已经查看了网站,并认为一开始我将帮助我的堂兄写一个脚本,将系统上安装的所有字体加载到下拉列表中.此下拉列表会将字体值发布回页面,并使用来自文本框的用户输入创建图像.这个图像必须在服务器端创建,我还希望让用户能够(将来)在上传的图像上放置自己的文本,以查看结果在他们自己的图像上的样子.我找到了一些关于如何使用php创建图像的信息,我不知道php是否可以从正在运行的系统输出已安装字体的列表.你会用什么脚本语言来完成这项工作?请记住,我只想从使用脚本语言输出基于用户输入的图像开始.
有没有办法在arraylist中获得对象的类型?
我需要制作一个IF语句如下(在C#中):
if(object is int)
//code
else
//code
Run Code Online (Sandbox Code Playgroud)
谢谢
我不确定音频单元是否可以在iPhone上的流式音频场景中用作编解码器.
我已经在各个地方读过它可以做到的,但我还没有看到任何示例或适当的文档.相反,我发现大多数发布的应用程序都使用了ffmpeg和libmms.
我感谢你能给我的任何帮助.
由于用户身份验证,我的应用中的错误已经丢失了一些时间.我认为这有点令人困惑,但也许有人可以解释原因,它在我看来非常符合逻辑.
的user.is_staff是一个成员变量,而user.is_authenticated是一种方法.但是is_authenticated只有返回true或false取决于如果该类User或AnonymousUser(见http://docs.djangoproject.com/en/dev/topics/auth/)
这有什么理由吗?为什么user.is_authenticated是方法?
提前致谢
我基本上想要获得零或开始时间的一天.
def today = Calendar.instance
today.set(Calendar.HOUR_OF_DAY, 0)
today.set(Calendar.MINUTE, 0)
today.set(Calendar.SECOND, 0)
println today // Mon Mar 15 00:00:00 SGT 2010
Run Code Online (Sandbox Code Playgroud) 我现在只是在试图制作游戏,但我之前也遇到过这个问题.当我指定特定的窗口大小(例如1024 x 768)时,生成的窗口比我指定的大一点.很烦人.是否有一个原因?我如何纠正它所以创建的窗口实际上是我想要的大小而不是更大一点?到目前为止,我总是回去,一次手动调整大小几个像素,直到我得到我想要的结果,但那已经老了.如果有一个公式,我可以使用它会告诉我需要从我的变量中添加/减去多少像素,这将是非常好的!
PS我不知道我的操作系统是否可能是其中的一个因素,但我使用的是W7X64.
private int windowWidth = 1024;
private int windowHeight = 768;
public SomeWindow() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(windowWidth, windowHeight);
this.setResizable(false);
this.setLocation(0,0);
this.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)