我试图从一周内排行榜显示得分。LIKE和BETWEEN查询SQL与HAXE
目前我查询某些日常的得分与以下:
public static function displayDay(day:String)
{
queryLeaderboard("SELECT * FROM gamedata WHERE ts LIKE '%-" + day + "%' ORDER by scoreDifference DESC LIMIT 10");
}
这将显示从我戳分数被格式化为2016年11月25日20时04分47秒,因此找到东西后“ - “随后有任何事情。我有这个很好的工作,每年,每月和每日的分数。
不过,我试图找到的每周得分。
目前,我有以下几点:
public static function displayWeek()
{
var dateNow:Date = Date.now();
Lib.print(dateNow);
Lib.print("<br>");
Lib.print(dateNow.getDate());
Lib.print("<br>");
var weekAgo:Int = dateNow.getDate() - 7;
Lib.print(weekAgo);
Lib.print("<br>");
var query:String = "SELECT * FROM gamedata WHERE ts BETWEEN LIKE '%-" + weekAgo + "%' AND LIKE '%-" + dateNow.getDate() + "%' ORDER by scoreDifference DESC LIMIT 10";
Lib.print(query);
queryLeaderboard(query);
}
查询如下:
SELECT * FROM gamedata WHERE ts BETWEEN LIKE '%-19%' AND LIKE '%-26%' ORDER by scoreDifference DESC LIMIT 10
,从我了解的SQL查询(有限的),它不喜欢试图找到彼此之间的值是字符串?但我相信这个格式是Haxe的SDateTime。
我该如何去做这件事?
class GameData extends Object
{
public var id:SId;
public var username:SString<32>;
public var countryA2:SString<32>;
public var scoreFor:SInt;
public var scoreAgainst:SInt;
public var scoreDifference:SInt;
public var ts:SDateTime;
}
乘以请编辑您的问题,包括'gamedata'表的元数据(列名和数据类型)来实现。谢谢。 –
这是更好还是SQL中的实际表结构? – Sectah
请在数据库中定义实际的表结构。谢谢。 –