mysql動態選擇 在mysql中選擇動態列

2021-10-19 19:15:17 字數 1512 閱讀 1944

是否有可能像這樣遍歷乙個表:

mysql> select * from `stackoverflow`.`results`;

| id | type | criteria_id | result |

| 1 | car | env | 1 |

| 2 | car | gas | |

| 3 | car | age | |

| 4 | bike | env | 1 |

| 5 | bike | gas | |

| 6 | bike | age | 1 |

| 7 | bus | env | 1 |

| 8 | bus | gas | 1 |

| 9 | bus | age | 1 |

9 rows in set (0.00 sec)進入這個:

| type | env | gas | age |

| car | 1 | | |

| bike | 1 | | 1 |

| bus | 1 | 1 | 1 |

+------+-----+-----+-----+目標是選擇所有criteria_ids並將它們用作列。

作為行我喜歡使用所有的types。

所有條件:select distinct(criteria_id) from stackoverflow.results;

所有型別select distinct(type) from stackoverflow.results;

但是如何將他們組合成乙個檢視或水手。喜歡這個?

如果你喜歡玩資料。這是乙個生成表的指令碼:

create schema `stackoverflow`;

create table `stackoverflow`.`results` (

`id` bigint(20) not null auto_increment,

`type` varchar(50) not null,

`criteria_id` varchar(5) not null,

`result` bit(1) not null,

primary key (`id`)

engine=innodb;

insert into `stackoverflow`.`results`

`id`,

`type`,

`criteria_id`,

`result`

values

( 1, "car", env, true ),

( 2, "car", gas, false ),

( 3, "car", age, false ),

( 4, "bike", env, true ),

( 5, "bike", gas, false ),

( 6, "bike", age, true ),

( 7, "bus", env, true ),

( 8, "bus", gas, true ),

( 9, "bus", age, true );

mysql動態選取列 在mysql中選擇動態列

是否可以遍歷這樣的表 mysql select from stackoverflow results id type criteria id result 1 car env 1 2 car gas 3 car age 4 bike env 1 5 bike gas 6 bike age 1 7 b...

mysql 選擇索引 mysql選擇索引

1 盡量為用來搜尋 分類或分組的資料列編制索引,不要為作為輸出顯示的資料列編制索引。最適合有索引的資料列是那些在where子句中資料列,在聯結子句 現的資料列,或者是在group by order by子句 現的資料列。select 後的資料列最好不要用索引。2 綜合考慮各資料列的維度。資料列的維度...

mysql 選擇列 MySQL 選擇所有列( )

示例 詢問select from stack 結果 id username password 1 admin admin 2 stack stack 2 rows in set 0.00 sec 您可以通過執行以下操作從乙個連線的乙個表中選擇所有列 select stack.from stack j...