我有一个像这样的表opname
:
我想选择基于 id_barang 的 group by 的表 opname,我想显示具有 group by 结果的最高 id 的行。
我是这样写查询的
SELECT
MAX(id), id_barang, tgl, ket, kondisi
FROM
`opname`
GROUP BY
id_barang
但为什么列 tgl、ket、kondisi 的值与 max(id)
不匹配 - 如何解决?我想按结果显示group中id最高的行
最佳答案
您可以通过子查询使用以下内容:
SELECT id, id_barang, tgl, ket, kondisi FROM `opname` WHERE id IN (
SELECT MAX(id) FROM `opname` GROUP BY id_barang
)
通过内部 SELECT
,您可以获得分组结果的所有最大 ID。外部 SELECT
从您的原始表中选择具有所有这些 ID 的所有行。
关于mysql - 按具有最高值列的显示行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920834/