2011-11-30 59 views
0

好吧,我一直在嘗試一段時間,但還沒有成功,它有點神祕,所以請大家幫忙。SQL查詢中不同的問題

vehicle table

這裏是我的表。我需要選擇所有不同的模型,並通過vehicle_type對它們進行分組/排序。一切都好,直到我開始使用DISTINCT。 我正在使用postgres 請幫忙查詢嗎?

+5

請提供您到目前爲止嘗試過的東西。 –

+5

向我們展示您嘗試過的一些SQL,以及爲什麼它不起作用 – cdeszaq

+1

請提供您正在尋找的輸出示例 – Russell

回答

2

假設模型可以幾種車型之間共享:

SELECT vehicle_type,model 
FROM vehicle 
GROUP BY vehicle_type,model 
ORDER BY vehicle_type,model 
+0

對不起,我不理解你的評論......也許它被截斷了? – Rudu

+0

哦對不起,我沒有描述的主要問題)哪些是vehicle_type值:sm_car,med_car,lge_car和sm_van,med_van,lge_van。所以我不知道如何將「汽車」和「貨車」分開分組 – Dennis

1

爲需要的列數據,以進行檢查,分類,但類似的數據模型沒有充分反映你的報告質量要求: (外插從你的描述可能的關係)

SELECT CASE (vt.description ~ 'car$') 
     WHEN TRUE THEN 'car' 
       ELSE 'van' 
     END AS vehicle_group, 
     vt.description AS vehicle_sub_group, 
     COUNT (*) -- or whatever aggregates you might need 
    FROM vehicle v 
     INNER JOIN vehicle_type vt ON vt.vehicle_type = v.vehicle_type 
GROUP BY 1,2; 

可能讓你對你在規定的情況下所需要的,但它是處理數據的脆弱方式,不會額外complexitie應付好例如如果您需要進一步將汽車分爲轎車,跑車,四輪驅動車或麪包車,平車,7.5噸,15噸等。

+0

yeap,你說得對,我已經改變了數據模型,所以現在它更靈活了 – Dennis