我可以在脚本中做到这一点,但我知道这一定很容易在MySQL中。你知道一张银行对账单如何在旁边的数字不合格的支票旁边加一个星号?这正是我想要做的。如何检测MySQL查询中的非连续数字列?
假设一个表与通常的id
pkey,但也是一个checkno
整数。我想回到三列:checkno
,id
和outoforder
这将是一个空字符串或星号:
SELECT t1.checkno, t1.id, outoforder '' FROM table t1 ORDER BY t1.checkno
我将如何修改这个SQL这样做呢?我正在考虑像(SELECT t2.id FROM table t2 WHERE t2.checkno = t1.checkno - 1)
这样的子查询,但在顶部引入了一些MySQL函数。顺便说一句,我在我的实际表上尝试了这种类型的子查询,查询只是从不返回。
您基本上需要为查询提供前一行中出现内容的“内存”。这是可行的,但使查询丑陋。你最好在客户端代码中完成它。 –
类似[RANKing](http://stackoverflow.com/questions/3333665/mysql-rank-function)可能会帮助您实现此目的。 – user2989408
sqlfiddle.com一些数据和显示预期的结果,我相信你可以做到像@ user2989408提到的排名 –