这是问题#105 http://sql-ex.ru查询获取某列的另一列的,因为只有RANK()值最高ROW_NUM()值
问题: 统计学家爱丽丝,贝蒂,卡罗尔和戴安娜在产品表中编号行。 最初,他们按照制造商名称的升序对表格行进行排序。 Alice正在为每一行分配一个新数字,这样她就按照模型升序排列了同一个制造商的行。 另外三位统计人员将相同的编号分配给同一制造商的所有行。
贝蒂分配从1开始的号码,每下一个制造商1。
卡罗尔给出了这样数目的制造商,它数艾丽斯将给出本机的第一模型的数量增加。
戴安娜给了一个制造商,这个数字爱丽丝会给这个制造商的最后一个模型。
输出:制造商,型号,已经由爱丽丝,贝蒂,Carol和戴安娜分别分配给表中的行数。
我想出了这个查询已经爱丽丝(A),贝蒂(B),卡罗尔(C)
SELECT maker, model,
ROW_NUMBER() OVER (ORDER BY maker,model ASC) A,
DENSE_RANK() OVER(ORDER BY maker) B,
RANK() OVER (ORDER BY maker) C
FROM product
ORDER BY model ASC
但我无法找到黛安娜(d)中溶液。
感谢您的帮助,时间和理解。
的MySQL不必须'ROW_NUMBER()'或'RANK()' –