标题:关于等级会员显示顺序的问题
只看楼主
nic
Rank: 2
等 级:新手上路
威 望:4
帖 子:175
专家分:0
注 册:2005-11-1
 问题点数:0 回复次数:6 
关于等级会员显示顺序的问题
假如会员实行等级制,即VIP会员和普通会员2种。
查询的结果要求显示的顺序如下:
1。总体:VIP会员在普通会员前面
2。VIP会员:VIP会员之间按照会员注册日期降序排列
3。普通会员:普通会员之间按照注册日期降序排列。

SQL语句应该怎样写才能实现以上的排列顺序?
搜索更多相关主题的帖子: 会员 顺序 SQL 等级 VIP 
2005-11-10 12:09
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
得分:0 

可以使用两个查询语句
select 会员名
from 会员表
where 会员id=vip会员
order by 会员注册日期 desc
select 会员名
from 会员表
where 会员id=普通会员
order by 会员注册日期 desc
具体试一下


大家都是朋友,有空就来坐坐!
2005-11-10 19:38
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
得分:0 
因为order by 不能实现子查询,聚合和表达式
所以我想你用两个查询应该方便点
只是可能会出现两张查询出来的表

大家都是朋友,有空就来坐坐!
2005-11-10 19:51
lili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-11-11
得分:0 
不知你是如何区分VIP会员与普通会员的?
不说明这点是没法写出来的,提问题应表述清楚!!!!!!!
2005-11-11 14:32
nic
Rank: 2
等 级:新手上路
威 望:4
帖 子:175
专家分:0
注 册:2005-11-1
得分:0 
比如,我现在有以下这张表menber:
menber_id name address adddate

menberid-1 name-1 address-1 20060101
menberid-2 name-2 address-2 20010302
menberid-3 name-3 address-3 20050204
menberid-4 name-4 address-4 20040509
menberid-5 name-5 address-5 20080529
menberid-6 name-6 address-6 20020509
menberid-7 name-7 address-7 20000517
menberid-8 name-8 address-8 19990530
menberid-9 name-9 address-9 19950525.
.
.
.
menberid-n name-n address-n 20000510

我想要对以上的会员实行VIP会员和普通会员级别(目前还没有实行),我的初步设想是表增加列:dengji_id int数据类型。
然后VIP的dengji_id=1,普通会员的dengji_id=2.

按照上面的排列原则,现在可以把VIP会员和普通会员分开排列了:
select * from menber
order by dengji_id desc
可以实现总体上VIP会员在普通会员前面,如:

menber_id name address adddate dengji_id

menberid-1 name-1 address-1 20060101 1
menberid-2 name-2 address-2 20010302 1
menberid-3 name-3 address-3 20050204 1
menberid-4 name-4 address-4 20040509 2
menberid-5 name-5 address-5 20080529 2
menberid-6 name-6 address-6 20020509 2
menberid-7 name-7 address-7 20000517 2
menberid-8 name-8 address-8 19990530 2
menberid-9 name-9 address-9 19950525 2
.
.
.
menberid-n name-n address-n 20000510 2


可是如何才能在VIP会员之间(以及普通会员之间)按照adddate进行第二次排列(即按照ADDDATE降序排列)?


2005-11-11 15:35
lili
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-11-11
得分:0 
select *
from menber
order by dengji_id desc,adddate desc

这样就可以了
2005-11-11 15:44
nic
Rank: 2
等 级:新手上路
威 望:4
帖 子:175
专家分:0
注 册:2005-11-1
得分:0 
以下是引用lili在2005-11-11 15:44:20的发言:
select *
from menber
order by dengji_id desc,adddate desc

这样就可以了

谢谢,原来可以这样写。
我看的书上太简单了,只有介绍ORDER BY XXXXX DESC/ASC,没有说这么详细。


2005-11-11 15:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-33283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.276425 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved