[英]How to check if the row of the first column is greater than the second in sql (Using IF Statement)
我写了一个查询来创建一个只有一列的表
CREATE TABLE ORDER(
Order_Date DATE NOT NULL
)
我在栏中插入了两个值
--Order_Date--
2018-05-21
2018-01-21
如何使用IF语句检查第一行是否大于或小于第二行?
SQL表表示无序集。 表中没有“第一”行或“第二”行。
如果包含标识列,则可以执行所需的操作:
CREATE TABLE ORDERS (
OrderId IDENTITY(1, 1) PRIMARY KEY,
Order_Date DATE NOT NULL
);
现在,您可以查看OrderId
和OrderDate
是否处于相同顺序。 就像是:
select (case when max(case when seqnum = 1 then order_date end) >
max(case when seqnum = 2 then order_date end)
then 'greater than'
when max(case when seqnum = 1 then order_date end) =
max(case when seqnum = 2 then order_date end)
then 'equal'
when max(case when seqnum = 1 then order_date end) <
max(case when seqnum = 2 then order_date end)
then 'less than'
end) as comparison
from (select o.*, row_number() over (order by OrderId) as seqnum
from orders o
) o;
注意,我还将该表重命名为Orders
。 Order
对于表来说确实是个坏名字,因为它既是SQL关键字又是保留字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.