我希望你的帮助我的查询。我有一个表employee.details与以下列: branch_name,firstname,lastname,age_float。
我希望此查询列出age_float的所有不同值 属性,结果表的每一行中的一个,以及第二个字段中的每一行旁边显示的 详细信息表中年龄小于或等于该值的人数。 有任何想法吗?谢谢!
答案 0 :(得分:2)
您可以使用OLAP功能:
SELECT DISTINCT age_float,
COUNT(lastname) OVER(ORDER BY age_float) AS number
FROM employee_details
COUNT(lastname) OVER(ORDER BY age_float) AS number
按年龄排序行,并返回年龄<=当前行年龄的员工人数
或简单的加入:
SELECT A.age_float, count(lastname)
FROM (SELECT DISTINCT age_float FROM employee_details) A
JOIN employee_details AS ED ON ED.age_float <= A.age_float
GROUP BY A.age_float