有一个Mysql表名是student,字段有:sid,sname,sage,sclass,sscore,
要求按照分数(sscore)的高低输学生的名字和班级?
具体如下:
1、第一步,创建一个测试表,代码如下,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,插入测试的数据,代码如下,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,查询表中所有记录的数量,代码如下,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,按照value1字段的升序,按value2字段的降序编写sql,代码如下,见下图。这样,就解决了这个问题了。
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDER BY子句来实现这个功能。语法如下:
SELECT <*,column [alias],...> FROM table
[WHERE condition(s)]
[ORDER BY column[ASC|DESC]];
默认是ASC指定的升序排列,DESC用来指定降序排列。
1、升序排序:
使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
2、降序排序:
当需要查询结果降序排列时,必须在排序后指定DESC关键字。如下图是查看职员薪水的降序排列:
举例说明:
1.查询所有学生记录,按年龄升序排序
SELECT *
FROM stu
ORDER BY sage ASC;
2.查询所有学生记录,按年龄降序排序
SELECT *
FROM stu
ORDER BY age DESC;
3.查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序
SELECT * FROM emp
ORDER BY sal DESC,empno ASC;