oracle 按天分组,统计访问量,但是我的时间怎么变成有时分秒的格式?我这么写不行吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 按天分组,统计访问量,但是我的时间怎么变成有时分秒的格式?我这么写不行吗?相关的知识,希望对你有一定的参考价值。

select sum(fwsl),to_date(to_char(fwsj,'yyyy-mm-dd')||' 00:00:00','yyyy-mm-dd hh24:mi:ss') wz_tj group by to_char(fwsj,'yyyy-mm-dd')
需要把查出来的第二个字段变成date类型,有时分秒的格式 YYYY-MM-DD HH24:MI:SS
--经过各种尝试,发现把字符串后面的00:00:00修改成其他非零数字就会变成有时分秒的格式。

对你所写的分析,评论下这个推荐答案是有问题的,
一天各个时间可能服务不只一次所以COUNT是不对的,用sum()没有问题。
但他的写法有问题,这个是正确的。
select sum(fwsl), to_char(fwsj, 'yyyy-mm-dd')
from wz_tj
group by to_char(fwsj, 'yyyy-mm-dd');
这个是按天分组,服务记录数的汇总。追问

我需要查出来一个date型的数据插入到别的表(推荐答案不是我选的,怎么就推荐上去了。)

追答

insert into table
select sum(fwsl), to_date(to_char(fwsj, 'yyyy-mm-dd'),'yyyy-mm-dd')
from kc03
where aab001 = '13020810213'
group by to_char(aae037, 'yyyy-mm-dd');

参考技术A to_date函数转换有问题,格式yy-mm-dd hh24:mi:ss 就包括时分秒

根据你SQL的意思,直接使用to_char就可以,试试这个
select count(fwsl), to_char(fwsj,'yyyy-mm-dd') from
wz_tj group by to_char(fwsj,'yyyy-mm-dd')
--ps:
sum用的好像场景不对,应该是count
参考技术B select sum(fwsl),to_char(to_date(fwsj,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd') wz_tj
group by to_char(to_date(fwsj,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')

timestamp类型会隐式自动转为date型
select sum(fwsl),to_timestamp(fwsj,'yyyy-mm-dd hh24:mi:ss') wz_tj
group by to_timestamp(fwsj,'yyyy-mm-dd hh24:mi:ss')
参考技术C Select Count(fwsl), to_char(date ,'yyyymmdd') wz_tj
From Table By wz_tj
Order By wz_tj
这个不就是取一天的访问量吗?我刚测试可行,我不懂你什么意思?

Laravel 按天分组并分页?

【中文标题】Laravel 按天分组并分页?【英文标题】:Laravel group by day and paginate? 【发布时间】:2021-04-07 12:31:25 【问题描述】:

我想按天对我的帖子进行分组,按最新排序,并为一个时间轴添加分页,该时间轴还将在前端包含无限滚动的 vue spa:

记录控制器

public function userFeed($userId)

    $client = User::where('hashed_id', $userId)->first();   
    $records = Record::where('user_id', $client->id)->latest()->paginate(10);
    return RecordResource::collection($records);

记录资源

class RecordResource extends JsonResource

    public function toArray($request)
    
        return [
            'id' => $this->hashed_id,
            'owner' => new UserResource($this->owner),
            'title' => $this->title,
            'created_at' => $this->created_at->format('M d Y'),
            'comments' =>  $this->decryptedComments()
        ];
    

我希望 API 的布局便于使用 v-for 循环:

[
    'Sunday' => 5,
    'Monday' => 45,
    'Tuesday' => 452,
    ...
]

<div v-for="(record, index) in records" v-bind:key="index" class="mb-10">
    <div class="card>
        <h1>record.title</h1>
    </div>
</div>

【问题讨论】:

大部分变化to this thread "message": "stripos() expects parameter 1 to be string, object given", 试试$records = Record::where('user_id', $client-&gt;id)-&gt;latest()-&gt;paginate(10)-&gt;groupBy('created_at'); 我仍然遇到同样的错误 stripos() 这是不同的错误,它与 group by 无关 【参考方案1】:

如果你想要一个组,则在分页之前使用 if 否则,它不起作用

$records = Record::where('user_id', $client->id)
           ->groupBy(\DB::raw('DATE(created_at) = CURDATE()'))
           ->latest()->paginate()

【讨论】:

以上是关于oracle 按天分组,统计访问量,但是我的时间怎么变成有时分秒的格式?我这么写不行吗?的主要内容,如果未能解决你的问题,请参考以下文章

oracle分组统计(group)

MySQL实现按天分组统计,提供完整日期列表,无数据自动补0

oracle怎么按个数分组

oracle 如何按天分组?比如一个表有个字段ST(date 类型)精确到秒,如何使用ST按天分组?

按天周月统计数据

oracle中group by按月分组统计