2

データを次のように返す単純なSQLクエリがあります

select [BusinessModel], count(*) As Total from DimHotelExpand
group by [BusinessModel] 

結果は次のようになります。

DA        53894
DL        7098
ECM       1472
Flex      14789
GDS       33487
Lead      1499050
MT        71306
Unknown   572467

値が「リード」の行を結果の一番下に表示したい。これどうやってするの?

4

4 に答える 4

3

これを試してみてください -

SELECT 
      d.BusinessModel
    , Total = COUNT(1)
FROM dbo.DimHotelExpand d
GROUP BY d.BusinessModel
ORDER BY 
      CASE WHEN d.BusinessModel = 'Lead' THEN 0 ELSE 1 END
    , Total
于 2013-04-22T07:47:03.377 に答える
2

Lead が常に最大の値を持っているかどうかわからない場合は、これを試すことができます。

select 
    [BusinessModel], count(*) As Total 
from DimHotelExpand
group by 
    [BusinessModel] 
order by 
    case [BusinessModel] when 'Lead' then 1 else 0 end asc
于 2013-04-22T07:49:11.590 に答える
1

次のように、合計列で並べ替えることができます (リードの数が多いため)。

SELECT [BusinessModel], count(*) As Total from DimHotelExpand
GROUP BY [BusinessModel]
ORDER BY count(*)
于 2013-04-22T07:45:16.720 に答える