sql語句怎樣實現求在列中選擇某些相同名稱的行,對這些相同名稱行的資料進行累加

時間 2021-08-30 15:06:47

1樓:

給你一個

2樓:

親測可用:

create function mergecharfield(@group varchar(255))

returns varchar(8000)asbegin

declare @r varchar(8000)set @r=''

select @r=@r+','+rtrim(name) from a where type=@group

return(substring(@r,2,8000))endgo

--呼叫

select type,dbo.mergecharfield(type),sum(amount) from a group by type

3樓:我tm不管

不知道你的資料庫,我就寫一個oracle的:

select type,wm_concat(name) name,sum(amount) amount group by type

怎麼利用sql語句查詢資料庫中具體某個欄位的重複行

在excel中,怎樣將兩個工作表中的某些相同名稱的資料通用?

4樓:陽秀珍左婉

應該用if函式

if那格為某個名稱,則為前一單元格的數值,否則為0

你最好把2個**中的名稱排序對應到

5樓:匿名使用者

這要看你的另一個工作表的設定了。

按我之前給你的**,庫存數已經自動統計出來了,「品規」在j列,「庫存數」在k列

可在另一工作表的任一列(假設在a1吧)輸入

=index(sheet1!j:j,small(if(sheet1!j$4:j$100<>"",row($4:$100),4^8),row(1:1)))&""

陣列公式,輸入後先不要回車,按ctrl+shift+enter結束計算,再向下填充

再在b1輸入

=vlookup(a1,sheet1!j:k,2,0)回車並向下填充。

用=sumif(sheet1!j:j,a1,sheet1!k:k)也行(反正只有一個資料,不用匯總)

你的品名自己輸入也行,就不要上面的第一道陣列公式;第二道公式可加入判斷函式if等:

=if(iserror(vlookup(a1,sheet1!j:k,2,0)),"",vlookup(a1,sheet1!j:k,2,0))

當輸入庫存表沒有的品規,庫存列顯示空值。

sql語句中怎麼實現in中的模糊查詢

where substr phone,0,3 in 134 135 通過擷取phone的前三位,要學會變通。模糊查詢要活用啊。where phone like 13 45 這樣可以去除134或135開頭的資料。使用正規表示式試試,mysql支援。你用的oracle嗎?是的話請追問,where條件後用...

在access中怎麼寫sql查詢語句,select查詢出

由於sql語言處理問題的方式是面向記錄 集合 的。解決排名這類問題對於sql來說確實頭疼,分組排名就更不用說了!為了解決排名問題大型資料庫系統為使用者提供了rank rownumber等函式,但是access不支援排名 開窗等這類函式,一般建議用程式設計方式解決,例如vba等。這個問題確實不好回答。...

oracle在SQL中製作一列自增列

1 建立一個自增sequences 2 表建了觸發器 當插入時呼叫 select seq.next into 變數 from dual 自增列 存入 變數 就ok了 可以通過sequence來實現,每次遞增一即可。create sequence seq idminvalue 1 maxvalue 9...