繁体   English   中英

如何从sql数据库中按日期获取数据

[英]how to get data by date from sql database

我有这个代码。 在这段代码中,通过视图获取数据。

但是,我想在最近创建中按日期获取数据。

喜欢这个代码

$recenttuners = $db->rawQuery('SELECT user_id, date AS count 
                                FROM '.T_TUNES.' 
                                WHERE user_id NOT IN ('.implode(",", $pt->blocked_array).') 
                                GROUP BY user_id 
                                ORDER BY count DESC 
                                LIMIT 20');

代码

$db->where('active_expire', time(),'<=')->update(T_USERS,array('active_expire' => $week_end,'active_time' => 0));
$recenttuners = $db->rawQuery('SELECT user_id, SUM(views) AS count FROM '.T_TUNES.' WHERE user_id NOT IN ('.implode(",", $pt->blocked_array).') GROUP BY user_id ORDER BY count DESC LIMIT 20');

foreach ($recenttuners as $key => $value) {
    $views_count = number_format($value->count);
    $views_ = $value->count;
    $followers = $db->rawQuery('SELECT COUNT(*) AS count FROM '.T_FOLLOWING_TUNES.' WHERE user_id = '.$value->user_id.' GROUP BY user_id LIMIT 1');
    $followers_count = 0;
    if (isset($followers[0])) {
        $followers_count = ($followers[0]->count > 0) ? number_format($followers[0]->count) : 0;
    }
    $user = PT_UserData($value->user_id);
}

您应该执行以下操作,而不是ORDER BY count DESC LIMIT 20ORDER BY date DESC LIMIT 20取决于您的date字段在数据库中的调用方式。

$recenttuners = $db->rawQuery('SELECT user_id, date AS count 
                                FROM '.T_TUNES.' 
                                WHERE user_id NOT IN ('.implode(",", $pt->blocked_array).') 
                                GROUP BY user_id 
                                ORDER BY date DESC 
                                LIMIT 20');

date更改为数据库中的参数。 它可以命名为created_at createdAt等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM