如何只使用一个sql语句创建一个视图来达到这个目标?

Coa*_*aku 2 mysql sql sql-view

这是一个table1:

+--------------------+
| type | size | code |
+--------------------+
|   A  |  10  |   1  |
|   A  |   8  |   0  |
|   B  |   3  |   1  |
|   B  |   5  |   0  |
|   A  |   9  |   1  |
+--------------------+
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个视图来实现这些目标:

1. Group by "type" column

2. calculate avg(size) for each "type"

3. calculate the percent of "1" in "code" cloumn for "type"

+----------------------------+
| type | avg(size) | percent |
+----------------------------+
|   A  |     9     |   2/3   |
|   B  |     4     |   1/2   |
+----------------------------+
Run Code Online (Sandbox Code Playgroud)

创建这样的视图的最佳方法是什么?

Joh*_*Woo 6

试试这个,

CREATE VIEW viewName 
AS
SELECT `type`, 
       AVG(`size`),
       CONCAT(
              SUM(`code`), 
              '/',
              COUNT(`code`)
             ) percent
FROM table1
GROUP BY `type`
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示