使用其他条件查找最小值teradata

wdebmtf2  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(419)

我正在使用teradatasql。
我有一个表格,上面有以下列:orgprice-original price sprice-sale price saledate-sale date
我需要在数据库中找到最早的销售日期,其中商品的销售价格不等于商品的原始价格
我试着这样使用min:

SELECT MIN(saledate)
FROM trnsact
WHERE orgprice <> sprice

但这只是返回了minsaledate值,where子句被忽略了。
我该怎么做?

lg40wkob

lg40wkob1#

你可以试试下面的-

SELECT col1,col2,MIN(case when orgprice <> sprice then saledate end)
FROM trnsact 
group by col1, col2
6l7fqoea

6l7fqoea2#

您的表可能还有一个“item”列来定义项。如果是这样,你只需要一个 GROUP BY 条款:

SELECT item, MIN(saledate)
FROM trnsact
WHERE orgprice <> sprice
GROUP BY item;
xfyts7mz

xfyts7mz3#

简单的排名任务:

SELECT *
FROM trnsact
WHERE orgprice <> sprice
QUALIFY
   ROW_NUMBER()
   OVER (-- PARTITION BY item -- ?
         ORDER BY saledate) = 1

对于单行,也可以使用top:

SELECT TOP 1 *
FROM trnsact
WHERE orgprice <> sprice
ORDER BY saledate

相关问题