gpt4 book ai didi

mysql - 比较不同列时获得最低值

转载 作者:行者123 更新时间:2023-11-29 13:29:46 25 4
gpt4 key购买 nike

我正在尝试比较表中的数据并输出每种类型的最小值。我知道 SQL 中有一个 MIN() 函数,但它只会获得总体的最低值,这不是我想要的。

我想获取整行的数据,其Column1中的值是foreach类型中最小的。

表格如下所示:

Type        Column1         Column2
------- -------- ---------
A 1 !!!
A 2 @@@
B 3 ###
B 4 $$$
C 5 %%%
C 6 ^^^

当我使用SELECT MIN(Value)时,我得到的结果如下所示:

Type        Column1         Column2
------- -------- ---------
A 1 !!!

我使用了Linger建议的GROUP BY方法,但结果仍然不太符合我的要求:

Type        Column1         Column2
------- -------- ---------
A 1 @@@
B 3 $$$
C 5 ^^^

但是,期望的结果应该是:

Type        Column1         Column2
------- -------- ---------
A 1 !!!
B 3 ###
C 5 %%%

我将如何编写 SQL 查询来完成这项工作?提前致谢。

最佳答案

这是一个简单的查询,只需使用 GROUP BY 子句即可执行:

SELECT MTM.* FROM 
(
SELECT MTS.Type, MIN(MTS.Values) AS SmallestValue
FROM MyTable AS MTS
GROUP BY MTS.Type
) AS MainQ
INNER JOIN MyTable AS MTM
ON MTM.UniqueID = MainQ.UniqueID

在上面的示例中,我执行 MIN() GROUP BY 查询,然后将结果连接到同一个表以提取我需要的其余字段。您应该有一个唯一标识记录的字段。使用该字段代替上面的 UniqueID

关于mysql - 比较不同列时获得最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19644049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com