2017-03-29 2 views
0

予約記録が保存されているSQLテーブルがあります。私はいいえをグループ化しなければならない。 (0〜100)、(100〜200)は賢明に似ています。運賃は小数点以下3桁までです。助けてください列(Travel Fare)を範囲(0〜100)、(100〜200)を賢明にグループ化する方法

+0

total_fare 900.00 4543.80 2400.00 1231.90 1050.00 131.50 350.00 414.95 800.00 719.95 719.95 –

+0

あなたがテーブル定義を提供することができ、サンプルデータを作成

最終出力が –

+0

のように見えるものは、その予約表予約が記録されます。運賃は小数点以下2桁までです。私は運賃の範囲をクラブにしたい。 0-100 rsの運賃表、101〜200通貨の運賃表などの予約数と同様です。私はSQLとスタックオーバーフローに非常に慣れています。私は実際にテーブル定義を知らないし、サンプルデータセットを共有する方法を知らない。 –

答えて

0

あなたのために何かが好きですか?いくつかの仮定と基本的なテーブル定義

DECLARE @Booking TABLE(
    Id   INT IDENTITY(1,1) 
    ,TravelFare DECIMAL(10,3) 
) 
INSERT INTO @Booking 
     (TravelFare) 
VALUES 
     (5),(17),(43),(115),(135),(167),(221),(278),(325),(354),(387) 


SELECT 
    COUNT(X.TravelFare) 'Count' 
    ,X.TravelFareGroup 
FROM 
(
SELECT 
    TravelFare 
    ,CASE 
     WHEN TravelFare BETWEEN 0 AND 100 THEN '0-100' 
     WHEN TravelFare BETWEEN 101 AND 200 THEN '101-200' 
     WHEN TravelFare BETWEEN 201 AND 300 THEN '201-300' 
     WHEN TravelFare BETWEEN 301 AND 400 THEN '301-400' 
    END 'TravelFareGroup' 
FROM 
    @Booking 
) X 
GROUP BY 
    TravelFareGroup 
関連する問題