我今天早些時候問過一個question,但我有一個後續問題,增加了多值字段的複雜性。如何從多值字段中查找具有不同條件的多條記錄的條數
給定如下表:
ID lightness | darkness | color
------|-------------|--------------|---------
1 |10 | 20 | green, blue, yellow
2 |10 | 08 | green, purple, orange
3 |10 | 10 | black, magenta, orange
4 |20 | 05 | green, creame
5 |10 | 20 | red, purple
6 |10 | 16 | red, white
7 |33 | 20 | brown, red
8 |10 | 10 | green, blue
我想搞清楚:
- 的記錄計數,其中顏色有記錄亮度10
- 計數,其中顏色有暗20
因此最終輸出將是:
Color | lightness | darkness | Total
---------|-------------|------------|---------
green | 4 | 1 | 5
red | 2 | 2 | 4
Total | 6 | 3 | 9
group by
將失去其價值,結果將不正確。該.value
可用於對多值字段,所以我可以做到以下幾點: 例如:
select * from colortable where color.value = 2
將展示綠色存在
select * from colortable where color.value = 3
將展示紅色存在
所有記錄的所有記錄據我所知,這是非常糟糕的設計,但我繼承了這一點,必須對數據運行查詢。
你有任何改變設計的能力?我向你保證,除了像這樣離開桌面的任何「空間節省」之外,讓自己更加容易頭疼。此外,「總計」行最好留給您的報告程序,_不適用於SQL引擎本身 – 2012-01-17 22:05:46
我確定沒有添加總計行。關於改變設計,我可以但也會涉及改變人們使用的應用程序的前端。因此,要回答您的問題,是的,我有權訪問並打算更改它,但想要從現有設計中查詢並提取結果。 – Anthony 2012-01-17 23:24:02