嘿,我有一个SQL查询的问题.让我们以此示例数据为例
itemID catID attrib1 attrib2
1 1 10 5
2 1 10 7
3 1 5 10
4 2 18 15
Run Code Online (Sandbox Code Playgroud)
我想为每个类别返回最佳项目(attrib1优先于attrib2)
显然,"SELECT catID,MAX(attrib1),MAX(attrib2)FROM test_table GROUP BY catID"不起作用,因为它将为第一只猫返回10和10.
那么有没有告诉MySQL从attrib2行中选择最大值但只考虑attrib1也是最大值的那些?即返回以下数据
catID attrib1 attrib2
1 10 7
2 18 15
Run Code Online (Sandbox Code Playgroud) 我有这个大型数据库(100多个表和30多万行),这是从完整备份导入回来的痛苦.
问题是一个表包含大部分数据(大约2700万行)并且完全是静态的.所以我想知道在使用mysqldump创建备份时是否可以指定1个表来忽略(而不是列出每个表但我要忽略的那个表)
为了把事情放在上下文中,我正在通过Ajax加载一个项目列表,创建一个包含每个项目主要信息的div,并希望在点击它时在页面上显示详细信息.所以我在onSuccess中有这个代码:
items = transport.responseText.evalJSON(); // my list of objects that contains all the details I'll need for that page
for (var itemID in items)
{
newDiv = ... // Creating my div with main infos
$('myDiv').appendChild(newDiv);
// More code to make everything look pretty and that works fine
Event.observe(newDiv, 'click', function() { loadItem(itemID); });
}
Run Code Online (Sandbox Code Playgroud)
loadItem是我的函数,它将显示所有项目详细信息.我的问题是itemID在创建observe事件时不会被其值替换,因此它总是为所有项返回相同的ID.
知道如何解决这个问题吗?我检查了原型文档上的绑定,这似乎是针对那些情况,但可能没有得到它,因为它对我不起作用.