我正在尝试创建一个系统,用于选择过去7天内未登录的旧用户。我对此查询有疑问。
查询应选择a
。email
,p
。name
,a
。name
,b
。 account_id
,我会解释。
a
是accounts
b
是billing
p
是players
应检查b
。account_id
是否等于a
。id
,p
。account_id
之后是否应该p
检查lastlogin
。SELECT
`p`.`name`,
`a`.`email`,
`a`.`name`,
`b`.`account_id`
FROM
`billing` AS `b` AND `players` AS `p`
LEFT JOIN `accounts` AS `a`
ON `a`.`id` = `p`.`account_id` AND `a`.`name` = `b`.`account_id`
WHERE `p`.`lastlogin` >= UNIX_TIMESTAMP() + (7 * 86400)
AND group_id = 1
ORDER BY lastlogin
DESC
是否高于或等于7天,然后应返回查询结果。
我尝试了这个,但它没有工作:
// The following short JSON file called "data.json" is parsed
// in the code below. It must be in the project's "data" folder.
//
// {
// "id": 0,
// "species": "Panthera leo",
// "name": "Lion"
// }
JSONObject json;
void setup() {
json = loadJSONObject("data.json");
int id = json.getInt("id");
String species = json.getString("species");
String name = json.getString("name");
println(id + ", " + species + ", " + name);
}
// Sketch prints:
// 0, Panthera leo, Lion
我希望这是可以理解的,xD。
此致
vankk。
答案 0 :(得分:0)
我认为问题出在这里。
WHERE `p`.`lastlogin` >= UNIX_TIMESTAMP() + (7 * 86400)
应该是-
而不是+
。
另外,为什么不使用2 JOIN
s?
答案 1 :(得分:0)
如果您使用SQL
,也可以使用DATEDIFF函数where DATEDIFF(d, a.DateValue , DateTimeNow) <7;