当前位置:首页 » 编程语言 » sql不确定条件的排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql不确定条件的排序

发布时间: 2023-06-17 02:00:44

sql排序问题

sql排序的规则是,按照第一个字段的顺序正序或倒序排列,
当第一个字段是相同的,那么会按照第二个字段的正序或倒序排列
依次类推,如果后面没有排序字段,会随机排列
所以,按照第一个字段倒序,按照第二个字段正序排列,结果视觉显示全部到序,原因可能是
第一个字段并无相同的,且第一个字段和第二个排序字段数值的增减是成反比的。

Ⅱ SQL语句中如何判断条件实现不同的排序方式

第一步:确定输出内容,你要的字段为name,数据结果为b,d,a,c

第二步:找规律,b、d的online为1;a、c的位说明是按online
降序;然后来看下
b
、d的online相同,viewnum为30和10,那么就是viewnum降序;如果a、c的viewnum也是降序那么规律就找到了,发现
a为40、c为20,确实是降序,满足条件。
第三步:总结规律就是先按online降序排序,之后再按viewnum降序排序。
第四步:得出需要的sql。
select
name
from
tablename
order
by
online
desc,
viewnum
desc
;

Ⅲ sql按条件排序

select paixu,id from td group by paixu,id order by id*(paixu-0.5)

如果还要选别的列必须给该列加上聚合函数 比如min() max()都可以

Ⅳ sql 排序的写法,按照两个条件去排序

ORDER BY 后可加2个字段,用英文逗号隔开。 1、f1用升序, f2降序,sql该这样写; ORDER BY f1, f2 DESC2、也可以这样写,更清楚; ORDER BY f1 ASC, f2 DESC3、如果都用降序,必须用两个desc;

Ⅳ SQL查询的排序问题

select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC
此中排序字段是索引条件中字段,ASC为升序,DESC为降序,此中的排列会以X1,X2,X3排序,但X1可能有很多数据,如果在X1内部排序,请加上第二排序。
select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC,字段2 ASC/DESC
此表达式是在X1,X2等排序的基础上再按字段2进行排序!

我就不明白,如何是多数据,X1,X2等又包含多个条记录,你就不想用Group呢?

你想看一下group by 的使用方法,对时可以对分组条件进行限定,关键词是having,使用方法类where,但与where是有区别的!

Ⅵ SQL如何条件顺序排列查询结果

用CASE进行转义就可以了
SELECT T1.A,T2.B,T1.C,T2.C
FROM T1 INNER JOIN T2
ON T1.C= T2.C
WHERE T1.A IN ('11','55','33','88')
ORDER BY CASE T1.A
WHEN '11' THEN 1
WHEN '55' THEN 2
WHEN '33' THEN 3
WHEN '88' THEN 4
END

意思是将T1.A的值根据条件转为1,2,3,4这样的数据来排序

你测试一下是不是你要的结果

Ⅶ SQL 多条件排序

SELECT
ckcz.rq, ckcz.ry, ckcz.id, ckcz.lx, ckcz.ckbh, ckcz.rkbh, ckcz.rksbwz, sb.mc, sb.xh,bg.bz, bg.wz
FROM
ckcz
INNER JOIN sb
ON ckcz.ckbh = sb.ccbh
INNER JOIN bg
ON ckcz.ckbh = bg.ccbh AND ckcz.rq = bg.rq
ORDER BY
CASE WHEN ckcz.lx = '更换' AND ckcz.rkbh IS NULL OR TRIM(ckcz.rksbwz) = '办公室检修桌' THEN 1 ELSE 0 END,
ckcz.rq DESC