Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1668|回复: 11
打印 上一主题 下一主题

简单的 Mysql 输出语句

[复制链接]

43

主题

1

好友

698

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

跳转到指定楼层
1#
发表于 2013-1-12 05:59 PM |只看该作者 |倒序浏览
这是例子
我的 table 里面有2个column,3个row,数据是这样的 :
{名字:兴杰 ,薪水:5千} , {名字:张三 ,薪水:10千},{名字:李四 ,薪水:15千}
我用 select * from table order by 薪水
排列后想为数据增加一个 column 排名 , 如:
{名字:李四 ,薪水:15千 ,排名:第1名},{名字:张三 ,薪水:10千 ,排名:第2名},{名字:兴杰 ,薪水:5千 ,排名:第3名}
我改如何写 sql 语句呢 ?




收藏收藏0

52

主题

0

好友

1769

积分

白银长老

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

2#
发表于 2013-1-12 07:07 PM |只看该作者

<table border=1>
<th>名字</th>
<th>薪水</th>
<th>排名</th>
$i=0;
select * from table order by 薪水 ;
$result = ....;
while($row = myswqli_fetch_array($result){
echo $row[名字''] .  $row[薪水''] .  $++.  
}

可以吗?


回复

使用道具 举报

52

主题

0

好友

1769

积分

白银长老

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

3#
发表于 2013-1-12 07:08 PM |只看该作者
<table border=1>
<th>名字</th>
<th>薪水</th>
<th>排名</th>
$i=0;
select * from table order by 薪水 ;
$result = ....;
while($row = myswqli_fetch_array($result){
echo $row[名字''] .  $row[薪水''] .  “第" .  $++ . "名";  
}

可以吗?


回复

使用道具 举报

43

主题

1

好友

698

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

4#
发表于 2013-1-12 07:32 PM |只看该作者
HoLy_ShIt 发表于 2013-1-12 07:08 PM
名字
薪水
排名

有没有直接用 sql 生成的 ?不通过php  .net 等


回复

使用道具 举报

43

主题

1

好友

698

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

5#
发表于 2013-1-12 08:14 PM |只看该作者
HoLy_ShIt 发表于 2013-1-12 07:08 PM
名字
薪水
排名

类似用 sql create view 实现的了吗?


回复

使用道具 举报

5

主题

0

好友

61

积分

中级会员

Rank: 2Rank: 2

6#
发表于 2013-1-14 05:39 PM |只看该作者
SELECT  名字, 薪水, @curRow := @curRow + 1 AS 排名
FROM    table
JOIN    (SELECT @curRow := 0) r
ORDER BY 薪水;


回复

使用道具 举报

43

主题

1

好友

698

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

7#
发表于 2013-1-21 01:16 AM |只看该作者
jessamoment 发表于 2013-1-14 05:39 PM
SELECT  名字, 薪水, @curRow := @curRow + 1 AS 排名
FROM    table
JOIN    (SELECT @curRow := 0) r

成了 ,那如果我想输出的 是  第 "1"名 , 第 "2" 名 , 我的"第"和"名" 要加在哪里?

SELECT name, salary, @rank := @rank + 1 AS ranking FROM table1 ,(SELECT @rank := 0) r ORDER BY  salary;


回复

使用道具 举报

43

主题

1

好友

698

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

8#
发表于 2013-1-21 01:20 AM |只看该作者
set @a=0;
select concat('第',(@a:=@a+1),'名') as ranking ,name,salary from table1 order by salary desc

如果是这样写的话,有更好的吗?


回复

使用道具 举报

5

主题

0

好友

61

积分

中级会员

Rank: 2Rank: 2

9#
发表于 2013-1-21 02:47 AM |只看该作者
本帖最后由 jessamoment 于 2013-1-21 02:49 AM 编辑

哈哈~我也不懂~ 给点点时间研究下。。。稍后回复


回复

使用道具 举报

5

主题

0

好友

61

积分

中级会员

Rank: 2Rank: 2

10#
发表于 2013-1-21 02:56 AM |只看该作者
更好的意思是?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-21 06:38 AM , Processed in 0.102930 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部