【问题标题】:SQL Group by, Having, and Ordering (MySQL)SQL 分组、拥有和排序 (MySQL)
【发布时间】:2012-07-18 07:55:13
【问题描述】:

我有以下 SQL:

select code, distance from places;    

输出如下:

CODE      DISTANCE
106     386.895834130068
80      2116.6747774121 
80      2117.61925131453
106     2563.46708627407

我希望能够只获得一个代码和最近的距离。所以我希望它返回这个:

CODE      DISTANCE
106     386.895834130068
80      2116.6747774121

仍在使用 Distinct 和 Group By。

【问题讨论】:

    标签: mysql sql group-by distinct


    【解决方案1】:
    select `code`, min(distance) as minimal_distance
    from places
    group by `code`
    

    【讨论】:

    • 你能说得更具体点吗?什么不完全工作?你能在SQLFiddle上提供一个例子吗?
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      试试这个:

      SELECT
        Code,
        MIN(Distance) AS closest_distance
      FROM
        your_table
      GROUP BY
        Code
      

      【讨论】:

        【解决方案4】:
        select `code`, min(distance) as distance
        from places
        group by `code`
        

        【讨论】:

          【解决方案5】:
          select code, min(distance) as mindist
          from places
          group by code
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-05-16
            • 1970-01-01
            • 1970-01-01
            • 2013-08-05
            • 2020-04-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多