2016-09-29 24 views
0

對於例子我有這樣的訪問表如果同一記錄添加到新行上,則訪問查詢計數?

fruit person   price 
apple jhon   5 
apple mary   12 
pear  alison   10 
grape kim    12 
grape kim    24 
grape jack   9 

我們怎麼能算水果和添加了另一個字段(couNum)這樣呢?

couNum  fruit person   price 
    1  apple jhon   5 
    2  apple mary   12 
    1  pear  alison   10 
    1  grape kim    12 
    2  grape kim    24 
    3  grape jack   9 

請幫忙謝謝。

+0

使用'control-k'或者添加4個空格來格式化爲代碼 –

+0

它必須是訪問查詢 – Karakus

+0

我很努力去理解關係謂詞(你表中每行的含義)。 「{葡萄,金,12}與'{葡萄,金,24}'有什麼不同? - 金每次銷售的葡萄都會收費兩次,但是」兩次收費「是什麼意思? – onedaywhen

回答

1

這是痛苦的在MS Access做,但你可以用一個子查詢做到這一點 - 假設你必須爲每個行的唯一列:

select t.*, 
     (select count(*) 
     from t as t2 
     where t2.fruit = t.fruit and t2.person <= t.person 
     ) as couNum 
from t; 

在大多數其他數據庫,您只需使用row_number()。如果您正在學習SQL並且可以選擇使用哪種數據庫,那麼我會引導您使用更爲「最新」的數據庫之一,例如Postgres,MySQL,SQL Server,Oracle或其他幾乎所有的數據庫。

+0

非常感謝。像魅力一樣工作 – Karakus

+0

「這在MS Access中很痛苦」 - 它看起來很酷。 IIRC Access有一個很好的報告工具。這會不會像報告那樣痛苦? – onedaywhen

相關問題