簡體   English   中英

比較不同數據庫行之間的值並獲得最大計數

[英]comparing values between different rows of database and getting maximum count

我有一張表,其中一行包含以下數據。 所以我需要比較它們之間的數據並顯示哪些數據具有最大的計數。 我的桌子上有以下水果名稱。 因此,我需要比較這些水果,並首先顯示最大水果計數。

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

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

好問題。

這是沒有數據標准化的經典壞結果。

我建議您閱讀有關數據庫規范化的信息 ,對表進行規范化 ,然后再看一下使用簡單的SQL查詢進行此操作有多么容易

如果需要在列字段1上運行查詢,那么為什么不考慮normalization 否則它將來可能繼續變得復雜和骯臟。

您當前的表格將如下所示(僅限序列號1),Pk可以是自動增量主鍵。

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

你的新水果表

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

這也有助於您避免冗余。

快速解決方案是在插入/更新行並添加fruitCount列的位置計算水果的數量。 然后,您可以使用此列進行排序。

Zohaib必須糾正解決方案-如果您有時間和可能性進行此類更改。 我絕對建議您閱讀Tudor的鏈接!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM