就是一个判断问题,没想通怎么写,大大们帮个忙!这是我用case预想的,但是没成功!
SELECT name, level, tip FROM user case when WHERE level >0 then ORDER BY level else ORDER BY tip end DESC LIMIT 0 , 30就是从表里取出来name level 和tip
如果LVEVL大于0,那么久按照level排序
如果level小于等于零,那么久按照tip排序怎么写。
SELECT name, level, tip FROM user case when WHERE level >0 then ORDER BY level else ORDER BY tip end DESC LIMIT 0 , 30就是从表里取出来name level 和tip
如果LVEVL大于0,那么久按照level排序
如果level小于等于零,那么久按照tip排序怎么写。
解决方案 »
- AES在Javascript加密php解密
- 唉,还得努力,谁弄过呵
- php无法定位程序输入点
- 关于织梦后台首页模板问题和服务器问题
- 为什么PHP程序明明有错,但ajax调用这个程序却可以成功返回
- php中如何使用ajax
- PHP中插入数据到myql显示乱码
- imagecreatefrompng频繁调用Warning: imagecreatefrompng(): Cannot read image data
- 数组长度相同,如何把一个数组的键名变成第二个数组的键值。
- 如何像phpmyadmin一样双击编辑离开提交
- shopex程序怎么加中国银行支付平台的API口
- 谁有ITeye账号借我用下,我需要下载个Demo,我刚注册的号需要一天后才能用
SELECT name, level, tip, (if(level>0, level, tip)) s FROM user order by s
还是有问题的,比如如下表,是按照你的方式操作的结果name level tip s
AAA 3 0 3
DDD 1 2 2
FFF 2 0 2
GGG 2 0 2
HHH 2 0 2
JJJ 2 0 2
KKK 1 0 1
LLL 1 0 1 按我想法是,tip大于零的时候,按照tip排序,所以DDD应该在第一个上
而tip小于等于零的时候再用level排序,好像不是你写的这样
如果level小于等于零,那么久按照tip排序
===========================
按我想法是,tip大于零的时候,按照tip排序,所以DDD应该在第一个上
而tip小于等于零的时候再用level排序
描述不清..混乱..给出各种情况的数据例子比较好
TIP大于零的时候,按照TIP排序 TIP小于零的时候 按照LEVEL的大小排序name level tip
AAA 3 3
DDD 5 2
FFF 2 1
GGG 6 0
KKK 1 4
LLL 3 0 比如如上例子,tip大于零,先排TIP ,然后按照LEVEL排序
001 kkk
002 AAA
003 DDD
004 FFF
005 GGG
006 LLL谢谢大家
可能是我两次用了不同的举例...意思就是
TIP大于零的时候,按照TIP排序 TIP小于零的时候 按照LEVEL的大小排序name level tip
AAA 3 3
DDD 5 2
FFF 2 1
GGG 6 0
KKK 1 4
LLL 3 0 比如如上例子,tip大于零,先排TIP ,然后按照LEVEL排序
001 kkk
002 AAA
003 DDD
004 FFF
005 GGG
006 LLL谢谢大家
order by tip>0 desc ,case(tip>0, tip, level) desc
order by tip>0 desc ,if(tip>0, tip, level) desc