计算最后一行,直到列值等于mysql中的给定值

问题描述 投票:0回答:1

假设我的表只有两列;其中一个是AUTO_INCREMENT,另一个包含在线数据......

A
B
C
A
A

我想计算最后一行,直到找到给定的值。

假设为,

A : 0 (Count From last to reach A)
C : 2 (Count From last to reach C)
B : 3 (Count From last to reach B)
mysql database
1个回答
2
投票

获取每个项目的最高ID,然后计算具有更高ID的行数。

SELECT x.item, IFNULL(COUNT(y.id), 0) as count
FROM (SELECT item, MAX(id) AS lastid
      FROM yourTable
      GROUP BY item) AS x
LEFT JOIN yourTable AS y ON y.id > x.lastid
GROUP BY x.item

DEMO

© www.soinside.com 2019 - 2024. All rights reserved.