大家好日子。我一直在尋找很長時間來進行我們教授希望我們做的活動。顯示行與第一個和最後一個奇數
例如我的列名是tax
,tax
有這些值:
TAX
-----
3681
4292
4895
1894
1127
程序應該顯示數字3681和1127。任何迴應非常感謝。 btw我們學校正在使用MS SQL Server 2000。
大家好日子。我一直在尋找很長時間來進行我們教授希望我們做的活動。顯示行與第一個和最後一個奇數
例如我的列名是tax
,tax
有這些值:
TAX
-----
3681
4292
4895
1894
1127
程序應該顯示數字3681和1127。任何迴應非常感謝。 btw我們學校正在使用MS SQL Server 2000。
SELECT MIN(tax), Max(tax)
FROM Table
WHERE tax %2 <> 0
演示:SQL Fiddle
如果你真的想第一個和最後從你的無序列表,這是一個棘手的命題和結果可能是不一致的,因爲沒有一個值,以便通過你不能保證訂單。通常會使用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)
任何關心解釋他們downvote? –
我從你的問題的理解,你正在尋找具有最低或最高奇數的行作爲最後一個字符?如果是這樣,那麼這應該工作:
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)
您可以使用此:
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
聽起來像一個硬件問題對我來說......你能向我們展示一些例子嗎?你可能試過的那些?你有什麼特別的問題?我們幫助你調試和解決你的查詢問題,但是我們不會爲你寫下它,而你沒有顯示某種嘗試:) –
使用什麼邏輯你會得出結論,3681和1127是'第一個和最後一個奇數'?如果只考慮最後一位數字,那麼sgeddes就是這樣,如果這是一個錯誤,你真的想要第一個和最後一個在最低和最高,那麼我的答案就是這樣。如果你的意思是你的無序列表中的第一個和最後一個,這是另一回事。 –
很高興聽到您的學校保持最新狀態。 SQL Server 2000已經退出了Microsoft的* extended *支持。 –