mysql语句使用php变量,mysql的用户变量-PHP教程,PHP应用

我觉得很悲哀,为什么看的人多,说的人少呢。

是觉得太简单而不屑一顾呢?还是想留一小手呢?

问题的提出 id=2131117

有一个表,内容如下

id  name

1   aaa

4   bbb

6   ccc

14   a1

15   a2

26   b1

怎样做才能得到如下结果

id name p

1 aaa  1

4 bbb  2

6 ccc  3

14 a1   4

15 a2   5

26 b1   6

又怎样做,才能这样?

name        p

aaa aaa

bbb aaa bbb

ccc aaa bbb ccc

a1  aaa bbb ccc a1

a2  aaa bbb ccc a1 a2

b1  aaa bbb ccc a1 a2 b1

mysql支持线程特定的变量,用@variablename句法。一个变量名可以由当前字符集的数字字母字符和“_”、“$”和“.”组成。缺省字符集是iso-8859-1 latin1;这可以通过重新编译mysql改变。

变量不必被初始化。缺省地,他们包含null并能存储整数、实数或一个字符串值。当线程退出时,对于一个线程的所有变量自动地被释放。

你可以用set句法设置一个变量:

set @variable= { integer expression | real expression | string expression }

[,@variable= …].

你也可以用@variable:=expr句法在一个表达式中设置一个变量:

select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;

+———————-+——+——+——+

| @t1:=(@t2:=1)+@t3:=4 | @t1  | @t2  | @t3  |

+———————-+——+——+——+

|                    5 |    5 |    1 |    4 |

+———————-+——+——+——+

问题的解决:

1、

$rs = mysql_query("set @t=0");

$rs = mysql_query("select id,name,@t:=@t+1 as p from tbl_name");

mysql_result_all($rs);

2、

$rs = mysql_query("set @t=");

$rs = mysql_query("select name,@t:=concat(@t, ,name) as p from tbl_name");

mysql_result_all($rs);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值