mysql根据时间戳算出每天24小时每时和每周的用户操作数

120 阅读1分钟

可以看一下折线图

话不多说,上sql语句

第一个图(如果直接查,顺序不是我想要的,所以专门给周一。。。。等等排序)

SELECT (FROM_UNIXTIME(create_time,'%W')) as h,COUNT(log_id) count FROM cook_log GROUP BY FIELD(h,'Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')

第二个图

 SELECT (FROM_UNIXTIME(create_time,'%H')) AS h,count(log_id)count from cook_log GROUP BY h

贴一下js代码

 <script th:inline="javascript">
      
        var firstCounts = [[${firstCounts}]];
        let h = firstCounts.map((item)=>{
            return item.h;
        });
        let count = firstCounts.map((item)=>{
            return item.count;
        })

        var firstCounts1 = [[${firstCounts1}]];
        let h1 = firstCounts1.map((item)=>{
            return item.h;
        });
        let count1 = firstCounts1.map((item)=>{
            return item.count;
        })




        var oneChart = echarts.init(document.getElementById("oneOption"));
        var  oneOption = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'cross',
                    label: {
                        backgroundColor: '#6a7985'
                    }
                }
            },
            xAxis: {
                type: 'category',
                data: h1
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: count1,
                type: 'line'
            }]
        };
        oneChart.setOption(oneOption);
        window.onresize = oneChart.resize;



        var twoChart = echarts.init(document.getElementById("twoOption"));
        var  twoOption = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'cross',
                    label: {
                        backgroundColor: '#6a7985'
                    }
                }
            },
            xAxis: {
                type: 'category',
                data: h
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: count,
                type: 'line'
            }]
        };
        twoChart.setOption(twoOption);
        window.onresize = twoChart.resize;
</script>

Html

  <div class="row">
                    <div class="col-sm-12" style="height: 300px;margin-top: 20px;">
                        <div class="ibox float-e-margins">
                            <div class="ibox-title">
                                <h5>烹饪周表</h5>
                            </div>
                            <div class="ibox-content">
                                <div class="echarts" id="oneOption" style="width: 90%" ></div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="row">
                    <div class="col-sm-12" style="height: 300px;margin-top: 20px;">
                        <div class="ibox float-e-margins">
                            <div class="ibox-title">
                                <h5>烹饪时表</h5>
                            </div>
                            <div class="ibox-content">
                                <div class="echarts" id="twoOption" style="width: 90%" ></div>
                            </div>
                        </div>
                    </div>
                </div>
                ```