我有喜欢的表/不喜欢的游戏:身份证,game_id,类型(喜欢/不喜欢),时间我应该如何在SQL中运行此查询?
表例如:图片链接
此代码给我的最后一个星期的游戏有喜欢,为了通过他们的喜欢计数:
$limit = 10;
$time = _time() - 60*60*24*7;
$games_id = array();
$games_id_query = $this->db->execQuery("SELECT `game_id`, count(*) as `likes_count` FROM `likes` WHERE `type` = 'like' AND `time` > '{$time}' group by `game_id` order by `likes_count` DESC LIMIT {$limit}");
$games_id_num = $games_id_query->num_rows;
if($games_id_num > 0) {
while($row = $games_id_query->fetch_object()) {
unset($row->likes_count);
$games_id[] = (array) $row;
}
}
我想使这个查询,只有在上周的喜欢秩序。例如:如果游戏X有5个喜欢,游戏Y有6个喜欢,但是游戏X获得本周3个喜欢,游戏Y获得本周2个喜欢 - 游戏X将是第一个,游戏Y将是第二个。
非常感谢!
你能解释一下你在这里做了什么吗?我不知道什么是datepart,什么是order by – user2670497
datepart从任何日期取出周/年/日。按2排序是按第二栏排序的结果。你可以尝试这个简单的选择 像'选择日期部分(wk,getdate())'周''选择日期部分(yy,getdate())' – Nilesh
这不是工作伙计。 – user2670497