数据分析画图,使用原生sql查询数据

1、使用工具

https://www.hcharts.cn/

http://echarts.baidu.com/

2、子表查询

id    创建时间              内容    处理者
                     1    2017-02-01 11:11                1
                     2    2017-03-01 11:11                11
                     3    2017-04-01 11:11                2
                     4    2017-05-01 11:11                1
                     5    2017-02-02 11:11                1

                    1. 思路
                        处理者列表 = select 处理着 from tb
                        for 处理者 in 处理者列表:
                            v = select * from tb where  处理者=处理者   group by     创建时间(2017-02)

                    2. 思路
                        # 每个月份全部门处理的订单个数
                        select * from tb group by 创建时间(%Y-%m)

                        select
                            创建时间(%Y-%m),
                            (select count(id) from tb as T2 where 处理者=1 and T2.ctime = T1.ctime ),
                            (select count(id) from tb as T2 where 处理者=2 and T2.ctime = T1.ctime ),
                        from tb as T1 group by 创建时间(%Y-%m)
                        年月                  id=1      id=2
                        2017-02                2
                        2017-03                0
                        2017-04                0
                        2017-05                1
def trouble_json_report(request):
    reponse = []
    from django.db import connection,connections
    userlist = UserInfo.objects.all()
    for row in userlist:
        cursor = connection.cursor()
        cursor.execute("""
        select unix_timestamp(date_format(ctime,"%%Y-%%m-01"))*1000 ,COUNT(id) from repository_trouble WHERE processer_id=%s GROUP BY date_format(ctime,"%%Y-%%m")
        """,[row.nid])
        result = cursor.fetchall()
        temp = {
            ‘name‘:row.username,
            ‘data‘:result
        }
        reponse.append(temp)
    import json
    return HttpResponse(json.dumps(reponse))

  

{% extends ‘backdemo.html‘ %}
{% block title %}
    article
{% endblock %}
{% block css %}
    <style>
    </style>
{% endblock %}
{% block modal %}
{% endblock %}
{% block content %}
    <ol class="breadcrumb">
        <li><a href="#">保障管理</a></li>
        <li class="active">数据分析</li>
    </ol>
</head>
<body>

<div id="container"></div>

{% endblock %}
{% block js %}
<script src="/static/plugins/Highcharts/code/highcharts.js"></script>
    <script>
    Highcharts.setOptions({
        global: {
            useUTC: false
        }
    });

    $(function(){

        initChart();

    });

    function initChart(){
        var config = {
            chart: {
                type: ‘spline‘
            },
            title: {
                text: ‘动态模拟实时数据‘
            },
            xAxis: {
                type: ‘datetime‘
            },
            yAxis: {
                title: {
                    text: ‘值‘
                },
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: ‘#808080‘
                }]
            },
            tooltip: {
                formatter: function () {
                    return ‘<b>‘ + this.series.name + ‘</b><br/>‘ +
                            Highcharts.dateFormat(‘%Y-%m-%d %H:%M:%S‘, this.x) + ‘<br/>‘ +
                            Highcharts.numberFormat(this.y, 2);
                }
            },
            legend: {
                enabled: true
            },
            exporting: {
                enabled: false
            },
            series: [
                {
                    name: ‘A‘,
                    data: [
                        [1491535949788.035, 7.0],
                        [1491535949888.035, 6.0],
                        [1491535949988.035, 10.0],
                        [1491535950088.035, 1.0],
                    ]
                },
                {
                    name: ‘B‘,
                    data: [
                        [1491535949788.035, 8.0],
                        [1491535949888.035, 2.0],
                        [1491535949988.035, 40.0],
                        [1491535950088.035, 1.0],
                    ]
                }
                ,
                {
                    name: ‘C‘,
                    data: [
                        [1491535949788.035, 10.0],
                        [1491535949888.035, 2.0],
                        [1491535949988.035, 10.0],
                        [1491535950088.035, 8.0],
                    ]
                }

            ]
        };
        // 数据库中获取 series
{#        $(‘#container‘).highcharts(config);#}

        $.ajax({
            url: ‘/backend/trouble-json-report.html‘,
            dataType: ‘json‘,
            success:function(arg){
                console.log(123123);
                config[‘series‘] = arg;
                $(‘#container‘).highcharts(config);
            }
        })

    }
</script>
{% endblock %}

  

原文地址:https://www.cnblogs.com/qiangayz/p/9249207.html

时间: 2024-08-30 00:39:29

数据分析画图,使用原生sql查询数据的相关文章

Hibernate5.2之原生SQL查询

Hibernate5.2之原生SQL查询 一. 介绍  在上一篇博客中笔者通过代码的形式给各位读者介绍了Hibernate中最重要的检索方式--HQL查询.在本博文中笔者将向各位读者介绍Hibernate中的原生SQL查询,虽为原生SQL查询,但是笔者认为Hibernate在针对不同的数据库在分页语句的处理上做的很不错,我们不用去关心使用的是何种的数据库.本博文会沿用<Hibernate5.2之HQL查询>中的POJO类和配置文件,请各位看官在阅读本博文之前请先阅读该文章,本篇文章会将HQL中

使用hibernate原生sql查询,结果集全为1的问题解决

问题如下: String sqlTest ="select summary,summaryno from F_Summary"; List<Map<Object, Object>> listTest = this.getService().getListBySql(sqlTest); for (Map<Object, Object> m : listTest) { for (Object k : m.keySet()) { System.out.pr

Hibernate 的原生 SQL 查询

Hibernate除了支持HQL查询外,还支持原生SQL查询.         对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该接口是Query接口的子接口.         执行SQL查询步骤如下:         1.获取Hibernate Session对象         2.编写SQL语句         3.通过Session的createSQLQuery方法创建查询对象         4.调用SQ

hibernate使用原生SQL查询返回结果集的处理

今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQuery拉来来实现SQL语句的查询,具体用法:session.createSQLQuery(sql),对于用SQL返回的结果集是一个什么样的结果集都毫无记忆.自己查了下,才知道,原来是返回一个Object类型数组的list集合,而其中Object类型的数组里的值则与sql语句中的查询项相对应,如果是s

Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1

第一篇:官方文档的处理方法,摘自官方 在迁移原先用JDBC/SQL实现的系统,难免需要采用hibernat native sql支持. 1.使用SQLQuery hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 1.1标量查询 最基本的SQL查询就是获得一个标量(数值)的列表. sess.createSQLQuery("SELECT * FROM CATS").list(); sess.createSQL

Hibernate原生SQL查询多表关联,SQL语句要注意的问题

Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Question 和 Answer分别对应数据表 question 和answer. 并且表 question 和answer 的字段大部分都一样,字段数目也一样. 执行如下的操作: 1> 使用hibernate 使用原生SQL查询, Query q = session.createSQLQuery(sql).

Hibernate 的SQLQuery接口addScalar方法 (原生sql查询)

在平时开发中Hibernate提供的hql基本能够满足我们的日常需求.但是在有些特殊的情况下,还是需要使用原生的sql,并且希望sql查询出来的结果能够绑定到pojo上.hibernate API中的createSQLQuery  和createQuery接口. 就像在这次的项目中,因为表结构要变化,有个新的需求: 要从一个表中查询极个别的字段并且还有几个是求多条数据的和的,之前一直在使用hibernate的API,使用的都是映射过得对象. 原对象及表结构是这样的: @Entity @Table

20150221&mdash;LINQ to SQL 查询数据

LINQ to SQL 可以快捷的查询基于SQL的数据,直接在VS中包括基本的Object/relation映射器,O/R映射器可以快速的将基于SQL的数据源映射为CLR对象,之后就可以使用LINQ查询. 如下图中,在项目中右键添加--新建项,找到LINQ to SQL类 然后创建新连接,点击连接到数据库: 添加连接 在左侧的服务管理资源中找到需要添加的连接名,表名 将表拖拽到DataClasses1,点击 是 根据需要将需要的表拖拽进来: 拥有主外键关系的表会在其之间有一条虚线.   使用LI

基于Spring Boot,使用JPA动态调用Sql查询数据

在<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>,<基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合>完成了CRUD,调用存储过程查询数据. 很多复杂的情况下,会存在要直接执行SQL来获取数据. 通过“EntityManager”创建NativeQuery方法来执行动态SQL. 1.查询结果集映射 在包“com.kxh.example.demo.domain”下的“Contact”实体上编写命名的结果