-2

今天是个好日子 。我一直在寻找我们教授要我们做的活动。

例如,我的列名是taxtax具有以下值:

 TAX
-----
3681
4292
4895
1894
1127

该程序应显示数字 3681 和 1127 。非常感谢任何回应。顺便说一句,我们学校使用的是 MS SQL Server 2000。

4

4 回答 4

0

你可以使用这个:

SELECT tax FROM Table ORDER BY tax.id ASC LIMIT 1
UNION
SELECT tax FROM Table ORDER BY tax.id DESC LIMIT 1

或这个:

SELECT MIN(tax.id), tax FROM Table
UNION
SELECT MAX(tax.id), tax FROM Table
于 2013-06-23T04:54:44.463 回答
0
SELECT MIN(tax), Max(tax) 
FROM Table
WHERE tax %2 <> 0

演示: SQL 小提琴

如果您实际上想要无序列表中的第一个和最后一个,这是一个更棘手的命题,结果可能会不一致,因为没有 ORDER BY 的值,您就不能保证顺序。通常会使用 ROW_NUMBER(),但在 2000 年不可用,如果在有选项之后你就是这样,最简单的方法是:

SELECT Tax, IDENTITY(1,1) as TaxID
INTO Table2
FROM Table1

SELECT (SELECT TOP 1 Tax FROM Table2 WHERE Tax %2 <> 0 ORDER BY TaxID)
      ,(SELECT TOP 1 Tax FROM Table2 WHERE Tax %2 <> 0 ORDER BY TaxID DESC)
于 2013-06-23T03:31:59.300 回答
0

根据我对您问题的理解,您正在寻找具有最低或最高奇数的行作为最后一个字符?如果是这样,那么这应该工作:

select t.tax
from yourtable t
  join (
    select min(right(tax,1)) minoddchar, max(right(tax,1)) maxoddchar
    from yourtable
    where tax % 2 = 1 --ensure odd result
    ) t2 on right(t.tax,1) in (t2.minoddchar, t2.maxoddchar)
于 2013-06-23T03:33:54.337 回答
-1
select tax from Table fetch first 1 row only;
select tax from table fetch last 1 row only;
于 2013-06-23T03:28:07.340 回答