![](/img/trans.png)
[英]How do I create tables in Microsoft SQL Server 2008 R2 Express
[英]How do I create query in sql server 2008 r2
尝试这个:
WITH cte1 AS (
SELECT name, MAX(value) AS max_value
FROM yourTable
GROUP BY name
),
WITH cte2 AS (
SELECT t.name, ROW_NUMBER() OVER (ORDER BY t.max_value DESC) rn
FROM cte1 t
)
SELECT t1.name, t1.value
FROM yourTable t1
INNER JOIN cte2 t2
ON t1.name = t2.name
ORDER BY t2.rn, t1.value DESC
绝对是一个奇怪的要求,但下面的代码片段应该做你的工作 -
declare @t table(name varchar(1), value int)
insert into @t values('a',50),('b',11),('a',10),('d',33),('f',5),('b',3)
select name,value from @t
select name,value from @t order by case when name='a' then 1 when name='b' then 3 when name='d' then 2 when name='f' then 4 end,value desc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.