189 8069 5689

mysql排名怎么写 mysql排名语句怎么写

mysql 数据库一个排名问题,比较复杂

你的数据库设计不合理,当你有新的game的时候又新建一张表,这样程序会变得非常复杂,正确的方法应该是只建立一个game表,字段有ID,GID,UID,money,其中GID为游戏的编码(1、2、3、……),如果是这样表结构,SQL你自己已经会写了。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、龙华网络推广、微信小程序开发、龙华网络营销、龙华企业策划、龙华品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供龙华建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

对于你现在这样麻烦的数据库结构,可以利用视图来实现,建立一个视图:

CREATE VIEW game AS

select '1' GID,UID,money from game1 UNION

select '2' GID,UID,money from game2 UNION

select '3' GID,UID,money from game3

这样,你需要统计某用户UID=uid的money总和,可以使用下面的SQL:

SELECT SUM(money) FROM game WHERE UID='uid'

你需要统计某用户sname的money总和,可以使用下面的SQL:

SELECT SUM(money) FROM game WHERE UID IN (select UID from user WHERE sname='sname')

有了这个VIEW排名的SQL应该你知道怎么做了。

Mysql排名的使用方法

SELECT * FROM table_name AS a ORDER BY a.`产业`,a.`市场份额` DESC;

表数据:

海信 冰箱 0.20 1

海信 冷柜 0.20 2

海尔 冰箱 0.19 3

海尔 冷柜 0.19 4

美的 冰箱 0.18 5

美的 冷柜 0.18 6

查询结果:

海信 冰箱 0.20 1

海尔 冰箱 0.19 3

美的 冰箱 0.18 5

海信 冷柜 0.20 2

海尔 冷柜 0.19 4

美的 冷柜 0.18 6

望采纳。

mysql 统计排名

SELECT * FROM table_name ORDER BY `score` DESC

就是从表中按score从高到低排序后取出的结果

mysql数据库中数据的排名问题

这个如果想要性能的话,就用下面的sql语句实现:

select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where t.userid=2694

然后php获得这条结果数组,取第一个元素即是排序

如果对这个sql语句有疑问,不明白,可以使用一个比较耗费性能的方法:

select userid from record

执行这条语句,获得一个数组$res

遍历前设置一个记录排序的标识 $seq=1;

for(...){

$userid=$res['userid'];//把第seq 个位置的学号拿出来,跟想要的学号比

if($userid==2694){

break;

}

$seq++;

}

//如果 这个排序标识比结果集数组大小还大,说明没这个userid的记录。

$seq就是排序

我没有测试 你可以自己试一下

mysql排名问题

应该把表B的score放到试卷表A ,

不然只能输出

张三试卷1:第1名

李四试卷1:第2名

王五试卷1:第3名

陈六试卷1:第4名

这样子

?php

mysql_connect('localhost','root','123');

mysql_select_db('lx');

mysql_query("SET CHARACTER SET utf8");

mysql_query("SET NAMES utf8");

$arr = mysql_query("select username,s from biaob where p_id = '1' order by score desc ");

$n = 1;

while($a = mysql_fetch_array($arr)){

echo 'br'.$a['username'].'试卷1:第'.$n.'名';

$n++;

}

?

请问用MySql如何根据不同年份排名

select id,integral,addtime from cos_member_vip order by integral desc,addtime asc--如果需要生成以积分为最高优先,其次以时间为从高到低为条件生成个排名字段,可用--ROW_NUMBER() OVER ()函数


网站标题:mysql排名怎么写 mysql排名语句怎么写
网页地址:http://jkwzsj.com/article/hjegsg.html

其他资讯