‘壹’ sql排序查询问题。
什么数据库?
如果有分析函数可以这样写
select
row_number() over (partition by t.hotelname order by t.iscuidan desc,t.comedate asc,t.arrivetime asc) as rn,
t.*
from Test t
order by t.iscuidan desc,t.comedate asc,t.arrivetime asc
‘贰’ sql语句查询排序
你要先提供A,B 两个表的关联字段才能查询A表时按照B表的b表里面的名称生效日期排序,例如select A.NAME,A.COUNT from
(SELECT NAME,COUNT FROM TABLEA GROUP BY NAME) A LEFT JOIN (SELECT * FROM TABLEB) B ON A.关联字段=B.关联字段 ORDER BY B.名称生效日期 asc
‘叁’ SQL 语句复杂排序查询问题
order by 可以跟case语句,你用case语句把规则写出来就行,比如:
order by (case when column3 is null then (column2+3) else column3 end)
请根实际体情况和排序规则改写…
‘肆’ sql的查询一组数据按照要求排序并查看
--1.建表createtable表(datadate,namevarchar(10))--2.插入数据insertinto表values('2010-1-1','老李')insertinto表values('2011-1-1','小王')insertinto表values('2011-1-1','老李')insertinto表values('2012-1-1','小王')insertinto表values('2012-1-1','老李')insertinto表values('2012-1-1','张大')insertinto表values('2013-1-1','小王')insertinto表values('2013-1-1','老李')insertinto表values('2013-1-1','张大')insertinto表values('2014-1-1','小王')insertinto表values('2014-1-1','老李')insertinto表values('2014-1-1','张大')insertinto表values('2015-1-1','小王')insertinto表values('2015-1-1','老李')insertinto表values('2015-1-1','张大')--3.添加一列altertable表addsint--4如果只是查询(按name分组,data降序产生序列号)select*,Row_number()over()Asidfrom表--5.1如果需要更新WithTAs(select*,Row_number()over()Asidfrom表)UpdateTSetS=id--5.2查询更新后的结果select*from表orderbyname,datadesc‘伍’ 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 SERVER查询之后排序问题!
用order
by,给你个例子
你看看
就明白了:
SELECT
au_lname
FROM
authors
ORDER
BY
au_lname
当这个SELECT语句执行时,作者名字的显示将按字母顺序排列。ORDER
BY子句将作者名字按升序排列。
你也可以同时对多个列使用ORDER
BY子句。例如,如果你想同时按升序显示字段au_lname和字段au_fname,你需要对两个字段都进行排序:
SELECT
au_lname,au_fname
FROM
authors
ORDER
BY
au_lname
,au_fname
这个查询首先把结果按au_lname字段进行排序,然后按字段au_fname排序。记录将按如下的顺序取出:
au_lname
au_fname
…………………………………………………………………….
Bennet
Abraham
Ringer
Albert
Ringer
Anne
Smith
Meander
…
(23
row(s)
affected)
注意有两个作者有相同的名字Ringer。名为Albert
Ringer的作者出现名为Anne
Ringer的作者之前,这是因为姓Albert按字母顺序应排在姓Anne之前。
如果你想把查询结果按相反的顺序排列,你可以使用关键字DESC。关键字DESC把查询结果按降序排列,如下例所示:
SELECT
au_lname,au_fname
FROM
authors
WHERE
au_lname=”Ringer”
ORDER
BY
au_lname
,au_fname
DESC
这个查询从表authors中取出所有名字为Ringer的作者记录。ORDER
BY子句根据作者的名字和姓,将查询结果按降序排列。结果是这样的:
au_lname
au_fname
……………………………………………………………………………………….
Ringer
Anne
Ringer
Albert
(2
row(s)
affectec)
注意在这个表中,姓Anne出现在姓Albert之前。作者名字按降序显示。
你也可以按数值型字段对一个查询结果进行排序。例如,如果你想按降序取出所有书的价格,你可以使用如下的SQL查询:
SELECT
price
FROM
titles
ORDER
BY
price
DESC
这个SELECT语句从表中取出所有书的价格,显示结果时,价格低的书先显示,价格高的书后显示。
‘柒’ sql 语句排序 在查询结果中按人数降序排列,若人数相同,则按课程号升序排列
代码如下:
select xuehao as 学号,score as 总成绩
from CJBwhere xuehao in(
select xuehao from XSB)
group by xuehao,score
order by score desc,xuehao
select id as 学号, sum(score) as 总成绩
from 成绩表
group by id
order by sum(score) desc, id asc
(7)sql排序后查询扩展阅读
ORDER BY 语句用于对结果集进行排序。
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
order by 是用在where条件之后,用来对查询结果进行排序。
order by 字段名 asc/desc 。
asc 表示升序(默认为asc,可以省略)。
desc表示降序。
order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
‘捌’ 根据名字排序查询 SQL
1、在SQL中,排序关键字为ORDER
BY。
2、假如要查询表t1中数据并按“名字”字段排序,可以使用以下语句:
SELECT * FROM t1 ORDER BY 名字3、上述排序方式默认为正序排列,若想倒序排列,可以在语句最后加上
DESC。
‘玖’ sql 排序列与状态列 综合查询
假设你这张数据表的表名是t1,字段名分别是id、title、sort、state按id排列的sql查询:select
*
from
t1
order
by
id
desc如果按id和state排列的sql查询:select
*
from
t1
order
by
id
desc,
state
desc如果不是按倒序排列,请将desc去掉。sql2000与2005常用的sql语句的写法与语法没有区别,从2000到2005版本升级后,常用sql语句无须调整。希望能帮到你。
‘拾’ SQL查询排序后前20条语句
SELECTC.DFROM(
SELECTC,D,ROWNUM RNFROM(
SELECTT.*FROMTABLE1 ORDER BY B DESC --降序
) T1
)WHERERN <= 20
注:用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。
(10)sql排序后查询扩展阅读:
关于sql语句查询排序
一、sql查询单词
order by 是用在where条件之后,用来对查询结果进行排序
order by 字段名 asc/desc
asc 表示升序(默认为asc,可以省略)
desc表示降序
order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
二、关联查询(左外查询)(jt项目菜单查询)
<select id="findObjects" resultMap="map">
select c.*,p.name parentNam
from sys_menus c left join sys_menus p
on c.parentId=p.id
三、用ORDER BY 子句
SELECT <列名列表> FROM <表名>[WHERE 条件]ORDER BY <字段名1> [ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]--order by <字段名1> (不写ASC|DESC, 则默认升序ASC)