2017-04-24 70 views
-1

我在Java servlet中運行以下查詢:
SELECT * FROM table order by updated desc limit 2;
我想比較同一列中的兩個最新值,以確定它們是否不同。我如何去做這件事?比較同一列中的兩個值SQL

+1

只要運行該查詢,訪問結果集,並比較兩個值。 –

+0

@TimBiegeleisen如果這些值在同一列中,我該怎麼做? – littlemisschik

+0

不是我的失望。只要閱讀一個好的JDBC教程,就像[這一個](https://www.mkyong.com/jdbc/jdbc-preparestatement-example-select-list-of-the-records/)。這是一個非常基本的問題。您的查詢將返回該列的兩個值。你所要做的就是比較它們。 –

回答

2

這裏有一個想法...

DROP TABLE IF EXISTS my_table; 

CREATE TABLE my_table 
(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY 
,value INT NOT NULL); 

INSERT INTO my_table VALUES (1,5),(2,6),(3,6); 

SELECT i 
    FROM 
    (SELECT id 
      , CASE WHEN @prev=value THEN @i:='same' ELSE @i:='different' END i 
      , @prev:=value prev 
     FROM my_table 
      , (SELECT @prev:=null,@i:=null) vars 
     ORDER 
      BY id 
    ) x 
ORDER 
    BY id DESC 
LIMIT 1; 
+------+ 
| i | 
+------+ 
| same | 
+------+