SQL分组排序
今天遇到个有意思的问题,是一个分组排序的问题,不过要求分组和分组间也要排序,如果这个组内有一条数据是最近更新的,那么这整个组都应该排在前面。
下面以Oracle的HR示例Schema中的employees表为例:
语句按部门分组,分组之间的排序是这样的:如果整个分组中有一个员工的hire_date是最新的,那么这个分组就应该排在其他分组的前面。分组内部的排序也是按照hire_date来排的。
SQL语句如下,在Oracle 10g XE中通过测试
SELECT oe.department_id, oe.employee_id, oe.last_name,oe.hire_date,sq.maxd
from employees oe JOIN
(
SELECT e.department_id,max(e.HIRE_DATE) maxd
from employees e
GROUP BY e.department_id
ORDER BY maxd desc
) sq
ON oe.department_id=sq.department_id
ORDER BY sq.maxd desc,oe.hire_date
相关文档:
<?php
require_once '../../smartyConfig/smartyConfig.class.php';
require_once '../../game/include/function.php';
require_once '../../game/include/config.php';
require_once '../../game/server/server.class.php';
require_once '../../game/include/db.class.php'; ......
作者 Haidong Ji 翻译 GoodKid
我们当中的大部分人工作在一个单一的 RDBMS 系统中,如 MSSQL, Oracle, or IBM DB2。然而,我们日益感觉到,我们正处于不同的数据库环境当中并且需要解决数据的互用性问题。
尽管主要的 RDBMS 厂商试图去遵循关系数据库模型原理,并且用非常小的差异去实现它们。另外,几乎主要的 ......
8.2 聚合函数的应用
聚合函数在数据库数据的查询分析中,应用十分广泛。本节将分别对各聚合函数的应用进行说明。
8.2.1 求和函数——SUM()
求和函数SUM( )用于对数据求和,返回选取结果集中所有值的总和。语法如下。
SELECT SUM(column_name) ......