我有一个结果集,让我们说10个结果。 其中3个有'Pears'类型,接下来3个有'苹果'类型,接下来有3个有'香蕉'类型。最后一个记录有一种“挤压设备” - 与水果无关。 如何以GROUPED顺序返回这组结果(也用于分页)我指定不使用任何固有的排序因子,如ALPHABETA或ID等? 在运行代码之前,我拥有所有类型,因此可以指定它们。 即
ID | Bananas
ID | Bananas
ID | Bananas
ID | Apples
ID | Apples
ID | Apples
ID | Pears
ID | Pears
ID | Pears
ID | Squeezing Equipment
答案 0 :(得分:1)
使用order by子句。如果你想要“挤压设备”最后使用这个:
ORDER BY CASE name
WHEN 'Bananas' THEN 1
WHEN 'Apples' THEN 2
WHEN 'Pears' THEN 3
WHEN 'Squeezing Equipment' THEN 4
END
答案 1 :(得分:0)
这将首先按字母顺序排序所有不是Squeezing Equipment
的类型:
select ID, Type
from MyTable
order by case when Type = 'Squeezing Equipment' then 1 else 0 end, Type
如果您有多种非水果类型,您可以这样做:
select ID, Type
from MyTable
order by case when Type in ('Squeezing Equipment', 'some other type') then 1 else 0 end, Type
答案 2 :(得分:0)
不是简单的ORDER BY和GROUP BY实现了这个吗?或者我错过了什么?
SELECT ID, Type FROM TheFruityTable
GROUP BY Type
ORDER BY Type;