2011-12-21 25 views
1

我有一個表中,其中一行包含以下數據。所以我需要比較它們之間的數據並顯示哪些數據具有最大的count.for ex。我的桌子上有以下水果名稱。所以我需要比較這些水果,並首先顯示最大的水果數量。比較不同行數據庫之間的值,並獲得最大數量

s.no |    field1    | 
1 |apple,orange,pineapple   | 
2 |apple,pineapple,strawberry,grapes| 
3 |apple,grapes,     | 
4 |orange,mango     | 

即蘋果第一,葡萄第二,菠蘿第三等。並且這些數據是動態輸入的,所以無論動態輸入哪個值,都需要在它們之間進行比較並獲得最大數量。

回答

1

如果您需要在列字段1上運行查詢,那麼爲什麼不考慮normalization?否則它將來可能會變得越來越複雜和骯髒。

您當前的表格看起來像這樣(僅適用於serianl數字1),Pk可以是自動增量主鍵。

Pk | s.no |fruitId| 
1 | 1  |1  | 
2 | 1  |2  | 
3 | 1  |3  | 

你的水果

PK |fruitName | 
1  |Apple  | 
2  |Orange  | 
3  |Pineapple | 

的新表這也有助於你避免冗餘。

+0

但是如果數據是動態的,那麼如何比較它們..我不知道下一步會輸入什麼數據..所以無論什麼值都是動態輸入的,它們需要在它們之間進行比較,並得到最大數量 – Sibu 2011-12-21 09:27:50

2

偉大的問題。

這是一個經典的壞結果,沒有數據規範化。

我建議你閱讀有關Database Normalization,規範你的表,之後看到它是多麼容易與簡單的SQL做到這一點查詢

+0

k tudor ..但如果數據是動態的,那麼如何比較他們..我不知道什麼數據將進入下一個..所以無論什麼值是動態輸入它需要在它們自己之間進行比較並得到最大計數 – Sibu 2011-12-21 08:44:17

+0

看看Zohaib答案 - 這是對數據進行標準化的一個非常好的開始 - 它也解決了您的「問題」 – 2011-12-21 08:49:49

0

快速的解決辦法來計算您插入/更新行水果的量並添加一個fruitCount列。然後,您可以使用此列進行排序。

Zohaib不得不糾正解決方案 - 如果您有時間和可能性進行此類更改。我絕對建議你閱讀都鐸王朝的鏈接!

相關問題