我試圖從一週內排行榜顯示得分。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
請在數據庫中定義實際的表結構。謝謝。 –