【问题标题】:sql server Min, Max rangesql server 最小,最大范围
【发布时间】:2015-01-11 16:43:47
【问题描述】:

我有一张大桌子

startip endip 国家 1111 2000 在 2001 3000 英寸 3001 4000 英寸 4001 5000 智 5001 6000芯片

我想合并所有这些行,例如

startip endip 国家 1111 4000 英寸 4001 6000芯片

我想在 sqlserver 中执行此操作。 DISTINCT(country) 的 Min(start_ip) , Max(end_ip) 有什么帮助吗?

【问题讨论】:

    标签: max distinct min


    【解决方案1】:

    使用GROUP BY。 例如:

    SELECT country, MIN(start_ip), MAX(end_ip)
    FROM a_table
    GROUP BY country
    

    【讨论】:

    • 我的情况像 100 200 india , 201 300 india , 301 400 china, 401 500 india ,所以 min 和 max 给出 100 - 500 india ,这是错误的。任何帮助
    【解决方案2】:

    不确定您的表架构是什么样的,但我认为您想要实现的目标将使用 GROUP BY 来完成:

    SELECT country, MIN(start_ip), MAX(end_ip) FROM your_table
    GROUP BY country
    

    【讨论】:

    • 我的情况像 100 200 india , 201 300 india , 301 400 china, 401 500 india ,所以 min 和 max 给出 100 - 500 india ,这是错误的。任何帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多