代码之家  ›  专栏  ›  技术社区  ›  Sam

基于条件的不同sql

  •  0
  • Sam  · 技术社区  · 7 年前

    以下是表格结构。列1包含可能存在于多行中的字符串。我希望以这样一种方式编写查询:column1值只重复一次,这样column2包含的行就具有优先权。如果只有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
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Tim Biegeleisen    7 年前

    请尝试以下查询:

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

    enter image description here

    Demo

    这应该行得通,因为 MIN 总是会选择 A 结束 B ,如果两个值都存在。