【问题标题】:MySQL select the row of a pivot table that match my criteria [duplicate]MySQL选择符合我的条件的数据透视表的行[重复]
【发布时间】:2017-11-02 16:30:27
【问题描述】:

我有一张这样的桌子:

id        code    delta
--        ----    -----
1          113        0 <-- minimum delta of ID 1
1          254       12
1         1254       55
2           45       42
2          148       10 <-- minimum delta of ID 2
2           20      100

我想选择具有相同 id 的所有行的最小增量的代码:

id    code
--    ----
1      113
2      148

【问题讨论】:

    标签: mysql pivot-table


    【解决方案1】:

    你可以使用:

    SELECT id, code
    FROM table
    WHERE (id, delta) IN (SELECT id, MIN(delta)
                          FROM table
                          GROUP BY id);
    

    【讨论】:

    • 如果您按 delta 和 den group 按 id 订购,它是否有效?
    • 天哪!就这么简单!?
    • @Stony 请发布查询
    • @lad2025 这只是一个任务SELECT * FROM table ORDER BY delta DESC GROUP BY id 类似的东西...所以您通过 delte 排序表格,最小值在顶部,然后按...哪个条目将是结果?
    • @Stony 也许在 MySQL 中,但我不喜欢这种简单的聚合,如果你按 id 聚合,那么你不能(不应该)使用SELECT * 也请检查@987654321 @
    猜你喜欢
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多