【问题标题】:Comparing two values in the same column SQL比较同一列 SQL 中的两个值
【发布时间】:2017-04-24 15:49:36
【问题描述】:

我在 Java servlet 中运行以下查询:
SELECT * FROM table order by updated desc limit 2;
我想比较同一列中最近的两个值,以确定它们是否不同。我该怎么做?

【问题讨论】:

  • 只需运行该查询,访问结果集,然后比较两个值。
  • @TimBiegeleisen 如果值在同一列中,我该怎么做?
  • 不是我的反对意见。只需阅读好的 JDBC 教程,例如 this one。这是一个非常基本的问题。您的查询将为该列返回两个值。您所要做的就是比较它们。

标签: java mysql jsp


【解决方案1】:

这是一个想法......

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 |
+------+

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多