mysql 查询结果把一个字段的值赋值给另一个字段的键值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询结果把一个字段的值赋值给另一个字段的键值相关的知识,希望对你有一定的参考价值。

比如mysql数据是这样:
name value
a apple
b banana

然后取出来希望是这样:
array('a'=>'apple','b'=>'banana');
要求用一句查询语句,谢谢(不要存储过程哈,- -|||)

用group_concat(concat('"',name,'":"',value, '"'))类似这样拼成一个专json串 然后到php再json_decode成数组。

格式: mysql -h主机地址 -u用户名-p用户密码。

连接到本机上的MYSQL。

一般可以直接键入命令。

mysql -uroot -p1。

回车后提示输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>。



扩展资料:

MYSQL短小精悍,容易上手,操作简单,免费供用的。相对其它数据库有特色又实用的语法多一些。SQL怎么copy也算是大型数据库,稳定,能做一般大系统的数据仓库,运行速度明显比MYSQL快N多(海量数据下这个优势显而易见)。

Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

参考技术A 纯sql语句是做不出来的
要么取出数据 然后循环整理一下
要么用group_concat(concat('"',name,'":"',value, '"'))类似这样拼成一个json串 然后到php再json_decode成数组
我这边是封装了一个database类 用一个函数将数据整理成你要的格式 算是第一种方法吧
写一次就都有了本回答被提问者采纳

SQL同一个表的某字段值相加赋值给另一个字段

有一个表,A2,例如,
字段有D011,D019,tablrela
10 1
12 1
1 2
2 3
3 3
我想用个命令可以根据相同的tablrela的值将sum(D019)赋值到D011上
结果是D011,D019,tablrela
22 10 1
22 12 1
1 1 2
5 2 3
5 3 3
我要的语句是在同一个表里,这个我自己写的update a2 set d011=(select sum(d019) from a2 where tablrela=tablrela)
不知道哪里错了,请别写成先用SELECT * into 去新建个副表,我这里有权限控制,只能在同一个表里完成

参考技术A 方法1:
我的是insert into 但不是别的表!
Insert Into A2
Select t.TABLRELA,t.D019,Sum(t.D019)Over(Partition By t.TABLRELA) From A2 t ;
Commit;
Delete A2 t Where Rowid Not In (Select Max(Rowid) From A2 y Where t.TABLRELA=y.TABLRELA And t.D019=y.D019);
Commit;
方法2:
update A2 s set s.D011 =(Select u.D011 From (Select t.TABLRELA,t.D019,Sum(t.D019)Over(Partition By t.TABLRELA) D011 From A2 t) u Where s.TABLRELA=u.TABLRELA And s.D019=u.D019);
Commit;本回答被提问者和网友采纳
参考技术B UPDATE A2 SET D019=B.D019
FROM A2 A,(SELECT SUM(D019),tablrela from A2 GROUP BY D019,tablrela) B
WHERE A.tablrela=B.tablrela
参考技术C update a2 set d011=c.a
from (select sum(d019) as a,tablrela from a2 group by tablrela) c on c.tablrela=a2.tablrela
参考技术D update as set d011=c.a
from (select sum(d019) as a from a2 a, a2 b where a.tablrela=b.tablrela)
第5个回答  2011-08-19 试试这个
update a2 A set A.d011=(select sum(d019) from a2 B group by tablrela) where A.tablrela=B.tablrela

以上是关于mysql 查询结果把一个字段的值赋值给另一个字段的键值的主要内容,如果未能解决你的问题,请参考以下文章

sql将查询结果的某个字段赋值给另一个字段

sql怎么将一张表的字段赋值给另一张表

SQL同一个表的某字段值相加赋值给另一个字段

将一个实体中相同字段的值赋值给另一个实体

VB中怎样把sql语句的查询结果赋值给一个变量

Mysql将存储过程执行后的值赋值给变量