# Sql数据集 | Smartchart开发手册
SmartChart标准数据集你可以想象为一个EXCEL的二维表, 有行和列 你直接在数据集开发界面填写SQL即可 标准图形的数据表类型 # A类数据源 # 比如你的原始数据库中表的格式如下, 表名tb_name: 城市 户型 数量 长沙 A 12 长沙 A 23 上海 B 19 查询的sql: select 城市,户型,sum(数量) AS 数量 from tb_name group by 城市,户型 正常的查询的结果为: [['城市','户型','数量'], ['长沙','A',35], ['上海','B ',19]] 由于生成的数据格式第二行是 [字符,字符,数值], 后台会自动进行转列动作, 生成图表更容易使用格式: [['Categroy','A','B'], ['长沙', 35, 0], ['上海', 0, 19]] B类数据源 # 再比如我们有一个表的数据格式, 指标是展开的: 城市 A B 长沙 10 12 上海 11 19 长沙 9 10 我们可以写的sql是: select 城市, sum(A) as A, sum(B) as B from tb_name group by 城市 这样得到的结果是: [['城市','A','B'], ['长沙', 19, 22], ['上海', 11, 19]] 和我们的标准格式也是一样的 SQL多段查询 # [cut: 684 characters, first 590 kept]

Sql数据集

SmartChart标准数据集你可以想象为一个EXCEL的二维表, 有行和列 你直接在数据集开发界面填写SQL即可

### 标准图形的数据表类型 #

#### A类数据源 #

    比如你的原始数据库中表的格式如下, 表名tb_name:
    城市    户型    数量
    长沙    A       12
    长沙    A       23
    上海    B       19

    查询的sql: select 城市,户型,sum(数量) AS 数量 from tb_name group by 城市,户型
    正常的查询的结果为:
    [['城市','户型','数量'],
     ['长沙','A',35],
     ['上海','B ',19]]
    由于生成的数据格式第二行是 [字符,字符,数值], 后台会自动进行转列动作,
    生成图表更容易使用格式:
    [['Categroy','A','B'],
     ['长沙',     35, 0],
     ['上海',     0, 19]]

#### B类数据源 #

    再比如我们有一个表的数据格式, 指标是展开的:
    城市    A     B
    长沙    10    12
    上海    11    19
    长沙    9     10

    我们可以写的sql是:
    select 城市, sum(A) as A, sum(B) as B from tb_name group by 城市
    这样得到的结果是:
    [['城市','A','B'],
     ['长沙', 19, 22],
     ['上海', 11, 19]]
    和我们的标准格式也是一样的

### SQL多段查询 #

有时你一个数据集可能只用一个SQL查询还不够，比如你需要一个清单数据，同时你需要一个汇总数据做为说明在图形中显示，这样你就需要使用多条SQL语句，在数据集中的写法你只需要用分号隔开，如：

    select ... from xxx;
    select ..... from xxxxxxx

    传递到图形中的格式为：
    {"df0":[[...]]. "df1":[[......]]}
    df0, df1分别对应的是第一段和第二段查询

多段查询使用视屏参考

### 支持的数据源： #

数据库 | 驱动填写 | 需安装 | 使用说明
--- | --- | --- | ---
Mysql | mysql | 默认支持 |
Mysql连接池 | mysqlpool |  |
Sqlite | sqlite | 默认支持 | 连接地址填写绝对路径
API | 任意 | 默认支持 | 参考数据集说明文档
EXCEL | 任意 | 默认支持 | 参考数据集说明文档
SQL Server | mssql | 需安装 pip install pymssql |
SQL Server连接池 | mssqlpool |  |
ORACLE | oracle | pip install cx_Oracle |
ORACLE连接池 | oraclepool |  |
PostgreSql | gp | pip install psycopg2 |
GP | gp | pip install psycopg2 |
Impala | impala | pip install impyla |
Hive | hive | pip install impyla |
DB2 | db2 | pip install ibm_db |
达梦 | dm | pip install dmPython |
Python | python | pip install pandas, openpyxl | 参考数据集->特殊数据源
Redis | redis | pip install redis | 参考数据集->特殊数据源
Mongodb | mongodb | pip install pymongo | 参考数据集->特殊数据源
Clickhouse | clickhouse | pip install clickhouse_driver |
Elasticsearch | es | pip install elasticsearch==7.13.0 | 参考数据集->特殊数据源
Sqlalchemy | sqlalchemy | pip install sqlalchemy | 参考数据集->特殊数据源
JDBC | jdbc | pip install JayDeBeApi | 参考数据集->特殊数据源
自定义 | 自定义 | 用户自由定义 | 参考数据集->特殊数据源