如何从表格中获得价值"偏好"

时间:2013-01-24 21:55:56

标签: mysql if-statement

我试图从基于“偏好”的表中获取值。

我有一个表“t1”,包括两列“id”和“alphabet”

示例数据

1 A
1 B
2 A
3 A
3 B

这意味着每个id都有默认值“A”,有些则有“B”。

现在我想根据“B”的偏好获得“id”的值。因此,如果ID同时具有A和B,我想要B行。如果未找到B行,则应返回默认值A.

1 个答案:

答案 0 :(得分:2)

这可能会稍微偏离,因为mysql方言总是抛弃我。由于B按字母顺序排在A之后,如果您对ID进行分组然后选择最大值,它将为您提供它们存在的所有B行,否则您将获得A行。

SELECT
    ID,
    MAX(alphabet) AS preference
FROM
    t1
GROUP BY
    ID

现在,如果您的数据比您指定的更复杂,您将需要检查MAX逻辑是否仍然适用。