sql server 統計資料庫中某個欄位的值,剔除重複資料,sqlserver
有的時候,在資料庫中存在一些重複的資料,但是我們又想統計某個欄位的值,重複的要剔除掉,:
在上面的圖我們可以看到,id=2,3 id=4,5的4條資料都重複了,我們統計amount只要其中的一條。sql語句如下:
select sum(b.money) as '金額' from (select MAX(amount) as money from test group by name) b
sql server資料庫表中怎根據某個欄位重複資料刪除資料?
我用遊標實現了你的功能。
你首先建立一張空表,和你的動作表一樣的結構,但是要求是空表,沒有任何內容,比如是tempReg2
你把下面的代碼拷貝到SQL查詢分析器,稍作修改就行。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
DECLARE Cursor_Title CURSOR FOR SELECT distinct title FROM RegMember
OPEN Cursor_Title
declare @str varchar(50)
FETCH NEXT FROM Cursor_Title Into @str
WHILE @@FETCH_STATUS = 0
BEGIN
insert into tempReg2 select top 1 * from RegMember where title=@str
FETCH NEXT FROM Cursor_Title Into @str
END
CLOSE Cursor_Title
DEALLOCATE Cursor_Title
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我用的表名是RegMember,重複的列名是title,所以這兩個名稱需要你替換一下。別的可以不變。
SQLserver資料庫中所有欄位全部一樣的重複資料怎刪除?
select distinct 欄位1,欄位2......欄位N into talbe2 from table1
drop table1
rename talbe2 to table1
按這個思路就可以作了