我試圖從基於「首選項」的表中獲取值。如何根據「首選項」從表中獲取值
我有一個表 「T1」 包括兩列 「id」 和 「字母」
的樣本數據
1 A
1 B
2 A
3 A
3 B
這意味着每個ID的缺省值是 「A」,部分「B 「)。
現在我想根據「B」的偏好得到「id」的值。因此,如果一個ID既有A又有B,我想要B行。如果沒有找到B行,那麼應該返回默認的A.
我試圖從基於「首選項」的表中獲取值。如何根據「首選項」從表中獲取值
我有一個表 「T1」 包括兩列 「id」 和 「字母」
的樣本數據
1 A
1 B
2 A
3 A
3 B
這意味着每個ID的缺省值是 「A」,部分「B 「)。
現在我想根據「B」的偏好得到「id」的值。因此,如果一個ID既有A又有B,我想要B行。如果沒有找到B行,那麼應該返回默認的A.
這可能會略微偏離,因爲mysql方言總是拋出我。由於B按照字母順序排列在A之後,所以如果你在ID上進行分組,然後選擇最大值,它會給你所有B行存在的地方,否則你會得到A行。
SELECT
ID,
MAX(alphabet) AS preference
FROM
t1
GROUP BY
ID
現在,如果你的數據比你指出的更復雜,你將需要檢查MAX邏輯是否仍然適用。
hiiii billinkc ....首先感謝您理解我的問題並對其進行編輯..第二感謝您解決它.....真正的作品我想要什麼.....非常感謝billinkc –
歡迎來到StackOverflow 。如果您發現問題或答案對網站有幫助,請點擊旁邊的向上箭頭。如果回答了您的問題,請點擊答案旁邊的複選標記。 – billinkc
嘿billinkc ...也有一個概率。如果還有一列,那麼它沒有獲得價值acc。到「字母表」。 Plz告訴我怎麼可能 –
是的,在一個列中只有一個值.... A或B –
所以你想要所有的行,對吧?你只是想按字母排序嗎?如果是這種情況,請使用ORDER BY字母表。如果我誤解了,我不明白你的意思是「得到所有的字母是B,沒有B的我就能得到A的價值」。請進一步解釋 – Melanie
您可以發佈您的表格結構,樣本數據和期望的結果嗎? – Taryn