SQL如何使用order by语句查询数据表的多字段

SQL如何使用order by语句查询数据表的多字段,第1张

先说说ORDER BY和GROUP BY的功能

假设一个表tab有一个id字段、一个Name字段,内容如下

id    Name

3    张三

5    李四

1    王五

1    赵六

ORDER BY是排序

select id from tab order by id

这条SQL的结果应该是

id

1

1

3

5

GROUP BY是分组,相同的组别仅显示一次

select id from tab group by id

这条SQL的结果应该是

id

1

3

5

另外在select后接N个字段,比如id,Name两个字段,然后Group By后接id

select id,Name from tab group by id

这样的SQL是会报错的,因为你必须将group by以外的字段,用聚合函数聚合起来(如max,min,Count等)

然后回到上面的问题:

如果题主的原意是用GROUP BY,按nane和number字段分组,那么其他字段你打算如何聚合,是用MAX取最大值、MIN取最小值、Count统计出现的次数、还是利用自定义函数(Mysql和ORACL有系统自带函数)来将其拼接文本

如果题主的原意是用ORDER BY,按nane和number字段排序

select * from tab ordey by name ASC,number ASC

--ASC是正序排列,DESC是倒序排列,不填写的情况下默认ASC

数据库的排序用order by语句实现。

工具:sqlserver 2008R2

步骤:

1、有如下学生表:

2、现要求按学号正序(由小到大)的顺序进行输出,语句如下:

select * from 学生 order by 学号

查询结果:

3、再要求按学号正序(由大到小)的顺序进行输出,语句如下:

select * from 学生 order by 学号 desc

结果:

sql取当前日期,对于mssqlserver,oracle,selectgetdate()即可,不过这个不是本机时间,是数据服务器的时间不同的服务,函数不定相同,如access用selectnow(),这个倒是本机时间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6422426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存