Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL语句获取具有最大ID的最小值_Mysql_Sql - Fatal编程技术网

MySQL语句获取具有最大ID的最小值

MySQL语句获取具有最大ID的最小值,mysql,sql,Mysql,Sql,我想选择id最大的最小值。例如,我想选择Playstation,因为它的id比Dully Puddy大 这是我的sql语句: SELECT *, max(id), min(price) FROM table group by type ORDER BY id DESC id name type price 123451 Park's Great Hits Music 19.99 123452 Sill

我想选择id最大的最小值。例如,我想选择Playstation,因为它的id比Dully Puddy大

这是我的sql语句:

SELECT *, max(id), min(price)
FROM table
group by type
ORDER BY id DESC 


id      name                    type        price
123451  Park's Great Hits       Music       19.99
123452  Silly Puddy             Toy         3.99
123453  Playstation             Toy         3.99
我总是让傻乎乎的布迪回来买玩具。有什么不同的建议吗?
提前谢谢

只要id唯一-一个id只有一个价格,没有任何“最低”或“最高”,只有一个:

select * from table where id in (
SELECT max(id)
FROM table as a
where a.price = (select min(price) from table as b where a.type=b.type)
group by type
) as t

只要id唯一-一个id只有一个价格,没有任何“最低”或“最高”,只有一个:

select * from table where id in (
SELECT max(id)
FROM table as a
where a.price = (select min(price) from table as b where a.type=b.type)
group by type
) as t

尝试此查询。这应该可以做到

select t4.* 

from 

`table` t4 

join 

( 

    select t2.type, max(t2.id) as id 
    from 
    `table` t2 join 
    (
        select type, min(price) as price
        from
        `table` t1
        group by type
    ) t3 on t2.type = t3.type and t2.price = t3.price
    group by t2.type

)  t5 on t4.id = t5.id

尝试此查询。这应该可以做到

select t4.* 

from 

`table` t4 

join 

( 

    select t2.type, max(t2.id) as id 
    from 
    `table` t2 join 
    (
        select type, min(price) as price
        from
        `table` t1
        group by type
    ) t3 on t2.type = t3.type and t2.price = t3.price
    group by t2.type

)  t5 on t4.id = t5.id

你被搞糊涂了。既然 ID 是唯一的,你总是只找到一个值,当然,这是“最小值”,这也是“max值”。如果你喜欢,考虑下面这个简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您还没有这样做,请提供与步骤1中提供的信息相对应的所需结果集。您感到困惑。既然 ID 是唯一的,你总是只找到一个值,当然,这是“最小值”,这也是“max值”。如果你喜欢,考虑下面这个简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您还没有这样做,请提供与步骤1中提供的信息相对应的所需结果集。我理解,在具有最低
价格的组中,要求
id
最大。这是总体上最大的
id
。@MichaelBerkowski在这里你可以理解在
价格最低的群体中成为最大的
id
的要求。这是最伟大的
id
整体。@MichaelBerkowski给你