2015-07-20 97 views
0

我需要有一列顯示基於其他列中的值的最小值。我可以在SQL的新列中設置計算公式嗎?

例如,我有表:TEST有以下欄目:

Date | Name | Qty

一些名字在不同的日期重複。

我想有一個第四列顯示了每個該名稱最小值而不考慮日期(即,在示例數據庫中的最小值)。

我迄今爲止嘗試:

UPDATE TABLE TEST 
ADD LOWEST VARCHAR NULL 
SET LOWEST 
SELECT Top 1 Name, Qty 
FROM TEST 
GROUP BY Name 
order by Qty Asc 

但是它無法正常工作。

+0

一個問題...這最小值將爲所有具有相同的名稱右側的列設置? – danvasiloiu

回答

0

我對你有一個小例子:

create table TEMP(name varchar(250),value int) 
insert into TEMP 
values ('aaa',10), ('aaa',30),('bbb',15),('bbb',20) 


alter table TEMP add minimum int 


update t 
set t.minimum = tt.minimum 
select * from TEMP t join 
(select min(value) as minimum ,name from TEMP group by name) tt on t.name=tt.name 
+0

謝謝親愛的,但我可以問一下「update t」是做什麼的?查詢的第二部分工作正常 –

+0

那麼如果答案是正確的,則將其標記爲解決方案。語法的這一部分只需選擇要更新的表。請參閱下面的t是Temp表的別名 – danvasiloiu

+0

謝謝,還有一個問題bro,如果我不想再次顯示名稱列,我應該對查詢做什麼修改。謝謝 –

相關問題