MySQL - 按列获取值

时间:2017-07-03 13:42:29

标签: mysql

我有一个样本表,如

enter image description here

我想获得像

这样的记录
Array(
  'col-1' => ['v1','v4','v7'],
  'col-2' => ['v2','v5','v8'],
  'col-3' => ['v3','v6','v9'],
)

有没有办法在MySQL中获取它

3 个答案:

答案 0 :(得分:1)

请检查此主题是否对您有所帮助 How to transform vertical data into horizontal data with SQL?

答案 1 :(得分:1)

从你列出你想要的输出的方式我猜你正在使用PHP。如果您对基于PHP的问题解决方案感兴趣,请点击:

$r=mysqli_query($connection,'select * from tbl');
$arr=array(); $res=array();
while ($d=mysqli_fetch_assoc($r)) $arr[]=$d;
foreach ($arr as $d)
  foreach ($d as $key => $val) $res[$key][]=$val;

print_r($res);

答案 2 :(得分:1)

您好我认为您需要更改数据库结构

你可以创建两个表,例如

// Product Table i wish
id | name
---------
1  | test
2  | Examplace product

然后你可以创建另一个表

product_colum_table

id | product_id | product_colum_or_data
1  | 1          |  Something
2  | 1          | some other data 
3  | 2          | product name
4  | 2          | test

然后您可以访问使用连接。

我希望这会有所帮助