我可以在腳本中做到這一點,但我知道這一定很容易在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提到的排名 –