回答
select value1, value2, value3, value4,
[min]=(select min(value) from (
select value1 union all
select value2 union all
select value3 union all
select value4) X(value)),
[max]=(select max(value) from (
select value1 union all
select value2 union all
select value3 union all
select value4) Y(value))
from tbl;
爲了識別空值作爲分鐘值,可以使用以下代替
select value1, value2, value3, value4,
[min]=(select TOP(1) value from (
select value1 union all
select value2 union all
select value3 union all
select value4) X(value)
ORDER BY value ASC),
[max]=(select TOP(1) value from (
select value1 union all
select value2 union all
select value3 union all
select value4) X(value)
ORDER BY value DESC)
from tbl;
gee ..感謝唯一的問題爲空的。 – 2013-04-23 10:16:31
更新爲迎合空值 – RichardTheKiwi 2013-04-23 10:20:44
請嘗試:
declare @T table
(
id int,
num1 int,
num2 int,
num3 int,
num4 int,
num5 int
)
insert into @T values
(1, 6, 51, NULL, 99, 34),
(2, 222, 251, 24, 299, 234),
(3, NULL, NULL, NULL, NULL, NULL)
select * From @T
SELECT id,
(SELECT
(CASE WHEN (num1+num2+num3+num4+num5) IS NULL THEN NULL
ELSE MIN(v) end)
FROM (VALUES (num1),
(num2),
(num3),
(num4),
(num5)) AS value(v)) as [MinVal],
(SELECT MAX(v)
FROM (VALUES (num1),
(num2),
(num3),
(num4),
(num5)) AS value(v)) as [MaxVal]
FROM @T
嘗試這一個 -
DECLARE @temp TABLE
(
Value1 INT
, Value2 INT
, Value3 INT
, Value4 INT
)
INSERT INTO @temp (Value1, Value2, Value3, Value4)
VALUES
(NULL, 1, 1, NULL),
(NULL, 1, 2, NULL),
(NULL, 2, 2, NULL),
(NULL, 2, 2, NULL),
(1, 1, 1, 1),
(2, 2, 1, 2),
(1, 1, 1, NULL),
(2, 2, 3, 2),
(2, 2, 2, 2),
(1, 1, 1, 1)
SELECT
Value1
, Value2
, Value3
, Value4
, MinValue = (
SELECT TOP 1 value
FROM (
SELECT value = value1
UNION
SELECT value2
UNION
SELECT value3
UNION
SELECT value4
) mn
ORDER BY value
)
, MaxValue = (
SELECT MAX(value)
FROM (
SELECT value = value1
UNION
SELECT value2
UNION
SELECT value3
UNION
SELECT value4
) mx
)
FROM @temp
結果窗口:
很酷這個人也爲我工作。謝謝 – 2013-04-23 10:51:10
@RichardTheKiwi,你是對的。謝謝你的評論。 – Devart 2013-04-23 10:52:49
- 1. SQL Server的最大值和最小值日行
- 2. SQL Server查詢最大和最小值
- 3. 獲取最小值和最大值
- 4. 獲取最小值和最大值值從多行事件
- 5. 查找最大值和最小值每N行的CSV數據
- 6. Java獲取幾個浮點數的最小值和最大值
- 7. 獲取參數的最大值或最小值到行值postgres
- 8. 如何分區錶行獲得每個進程的最小值和最大值
- 9. Python:用於獲取最大值和最小值而不使用最大值和最小值函數的程序
- 10. 最大值和最小值?
- 11. Mysql從每行的組中獲取最大行和最小行
- 12. 如何獲取字符串的最小值和最大值?
- 13. 獲取PHP數組中的最小值和最大值
- 14. 如何獲取輸入的最小值和最大值angularjs
- 15. 獲取鏈接列表中的最小值和最大值
- 16. 獲取數組各部分的最小值和最大值
- 17. 獲取範圍的最小值和最大值
- 18. 檢索同桌的最小值和最大值的時間在SQL Server
- 19. SQL - 如何返回每個五分位數的最小值和最大值
- 20. 如何獲得SQL中有最大值和最小值的行的ID
- 21. 在一個SQL查詢中選擇最大值和最小值
- 22. SQL查詢 - 查找日常最小值,最大值和時間的最小值和最大值發生
- 23. 數組的最小值和最大值?
- 24. 計算SQL中的最大值,最小值和平均值
- 25. 中的std ::最大值和最小值
- 26. Python的最大值和最小值
- 27. 數組的最大值和最小值
- 28. 獲取具有SQL Server中列最大值的行
- 29. 獲取與最大值記錄每個
- 30. 在bigquery中查找多個值的最小值和最大值
看着這個主題看起來像你的http://stackoverflow.com/questions/7097518/sql-selecting-min-value-from-row-data- not-column-data – 2013-04-23 09:54:09
這將只返回最大或最小值。我想要整個表格以及兩個新的列,分別是最大值和最小值。 – 2013-04-23 09:57:33
和ya如果行中有NULL值,最小值應該爲NULL – 2013-04-23 10:05:25