下面是表格结构。第一列包含的字符串可能会出现在多行中。我想以这样的方式编写查询:column1值仅重复一次,以使column2包含A的行优先。如果只有B可用,则输出相同。

下面提供了示例数据和预期的sql输出。

表结构(这里也跳过其他列)

Column1 Column2
 123       A
 234       A
 234       B
 435       A
 536       B


SQL预期输出

Column1 Column2
 123       A
 234       A
 435       A
 536       B

最佳答案

试试这个查询:

SELECT Column1, MIN(Column2) AS Column2
FROM yourTable
GROUP BY Column1
ORDER BY Column1;


mysql - 基于条件的不同SQL-LMLPHP

Demo

这应该起作用,因为如果同时存在两个值,则MIN总是会选择A而不是B

关于mysql - 基于条件的不同SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53774245/

10-15 18:27