我想在包含超过1,000,000个条目的表中获取最新条目。我正在将此查询用于实例
var ar = [
{
"name":"BHPhotovideo",
"prices":[
{
"price":"799.00",
"createdAt":"2017-07-23T16:17:11.000Z",
"updatedAt":"2017-07-23T17:21:41.000Z"
},
{
"price":"770.00",
"createdAt":"2017-07-21T16:17:11.000Z",
"updatedAt":"2017-07-23T16:17:11.000Z"
},
{
"price":"599.00",
"createdAt":"2017-07-19T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
},
{
"price":"920.00",
"createdAt":"2017-07-22T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
}
]
},
{
"name":"Adorama",
"prices":[
{
"price":"799.00",
"createdAt":"2017-07-22T16:17:11.000Z",
"updatedAt":"2017-07-23T17:21:41.000Z"
},
{
"price":"799.00",
"createdAt":"2017-07-20T16:17:11.000Z",
"updatedAt":"2017-07-23T16:17:11.000Z"
},
{
"price":"810.00",
"createdAt":"2017-07-18T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
},
{
"price":"799.00",
"createdAt":"2017-07-17T16:17:11.000Z",
"updatedAt":"2017-07-22T16:17:11.000Z"
}
]
}
];
var out = ar.map( function(a) {
return {
"label" : a.name,
"prices" : a.prices.map( function(aa) { return {x: aa.createdAt, y: aa.price} })
}
});
console.log( out );
它给了我从510045开始到510245结束的条目.MYSQL可以从510245到510045获取条目。我的意思是从最后一个获取数据,我不想只获取200个条目
答案 0 :(得分:1)
您应该通过desc ORDER BY,如果需要,还可以使用LIMIT来定义您想要的条目数。
示例:强>
SELECT id FROM tablea WHERE flag = "N" ORDER BY id DESC;
-- this will help to find the last entries
但是如果你想拥有上次查询中没有得到的最新条目,你应该始终保留最后一个ID的值,并将其用作下次检查的参考。
示例(假设上次执行查询的最后一个ID是55304):
SELECT id FROM tablea WHERE flag = "N" WHERE id > 55304 ORDER BY id DESC;
答案 1 :(得分:0)
如果你想要的是id大于510245的行,只需使用where条件
[System.Text.Encoding]
这应该这样做
答案 2 :(得分:0)
据我了解你的要求。你可以尝试一下。
Select * FROM table WHERE flag = 'N' AND id > 510245 ORDER BY id
答案 3 :(得分:0)
这里还有一件事是
我正在处理的版本不支持包含LIMIT的子查询。所以,@ strawberry感谢您给我提示解决问题。但我使用这个子查询作为内连接表(如下所述)
SELECT id FROM tablea AS T1
INNER JOIN (SELECT id FROM tablea WHERE flag = "N" ORDER BY id LIMIT 510045,200) AS T2
WHERE T2._id = T1._id ORDER BY T2._id DESC;
这给了我所需的结果。谢谢大家的帮助!!