mysql多個(gè)字段如何去重復(fù)的數(shù)據(jù)
黃山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
MySQL查詢重復(fù)字段,及刪除重復(fù)記錄的方法
數(shù)據(jù)庫(kù)中有個(gè)大表,需要查找其中的名字有重復(fù)的記錄id,以便比較。如果僅僅是查找數(shù)據(jù)庫(kù)中name不重復(fù)的字段,很容易:
SELECT
min(`id`),`name`
FROM
`table`
GROUP
BY
`name`;
添加字段
drop procedure if exists add_column_if;
delimiter $$
create procedure add_column_if()
begin
declare
iCnt int;
select count(*) into iCnt from information_schema.columns
where table_schema=(select database())
and table_schema='BONDCONTRACE_TEST'
andcolumn_name='AAA';
if (iCnt=0) then
alter table bondcontrac_test add? AAA varchar(10) default null;
end if;
end;
call add_column_if;
drop procedeure add_column_if; $$
delimiter;
加索引
drop? procedure if exits add_index_id;
delimiter $$
create procedure add_index()
begin
declare iCint int;
select count(*) from information_schema.statistcs
where table_schema=''
and table_name=''
and index_name=''
and column_name in ('','')
if (iCint=0) then
alter table tablename add key index_name('','');
end if;
end'
call add_index_if;
drop procedure add_index_if;$$
delimiter;
實(shí)現(xiàn)的方法和詳細(xì)的操作步驟如下:
1、第一步,使用navicat連接到mysql數(shù)據(jù)庫(kù)并創(chuàng)建一個(gè)新的用戶表,見下圖,轉(zhuǎn)到下面的步驟。
2、第二步,完成上述步驟后,填寫一些測(cè)試內(nèi)容以演示測(cè)試結(jié)果,見下圖,轉(zhuǎn)到下面的步驟。
3、第三步,完成上述步驟后,選擇用戶名,然后單擊鼠標(biāo)右鍵以選擇“設(shè)計(jì)表”選項(xiàng),見下圖,轉(zhuǎn)到下面的步驟。
4、第四步,完成上述步驟后,切換到設(shè)計(jì)表中的“索引”標(biāo)簽,見下圖,轉(zhuǎn)到下面的步驟。
5、第五步,完成上述步驟后,開始添加索引。如果不需要索引名稱,則默認(rèn)情況下可以為空。該工具將自動(dòng)生成與字段名稱相同的名稱。單擊字段后面的按鈕以顯示選擇框,選擇需要唯一約束的字段。在這里,登錄到名稱字段,見下圖,轉(zhuǎn)到下面的步驟。
6、第六步,完成上述步驟后,選擇“索引類型”選項(xiàng),唯一約束必須選擇“Unique”類型,見下圖,轉(zhuǎn)到下面的步驟。
7、第七步,完成上述步驟后,將第三條數(shù)據(jù)的登錄名修改為與第二條數(shù)據(jù)相同,然后單擊下面的復(fù)選標(biāo)記按鈕進(jìn)行保存,見下圖,轉(zhuǎn)到下面的步驟。
8、第八步,完成上述步驟后,保存時(shí)將報(bào)告錯(cuò)誤,提示“Duplicate entry 'bb' for key 'login_name'”,重復(fù)的登錄名無(wú)法成功保存,表明添加的唯一約束已生效,見下圖。這樣,就解決了這個(gè)問(wèn)題了。
思路:先抽出有重復(fù)的C3 C4 C5,然后再和主表相連取出數(shù)據(jù)
解法:按C3 C4 C5 GROUP BY,取出行數(shù)大于1的,即為有重復(fù)的C3 C4 C5
SQL語(yǔ)句:
SELECT T1.*
FROM 表名 T1
INNER JOIN
(
SELECT C3,C4,C5
FROM 表名
GROUP BY C3,C4,C5
HAVING COUNT(1) 1
) T2
ON T1.C3 = T2.C3
AND T1.C4 = T2.C4
AND T1.C5 = T2.C5
不好意思不是很懂mysql語(yǔ)句,不知道會(huì)不會(huì)有的地方語(yǔ)法不同,但猜想方法還是可以用的。
for($i=1;$i3;$i++) {
$sql = "SELECT * FROM table WHERE id='$i'";
while($result = mysql_fetch_array(mysql_query($sql))) {
$data[] = $result;
}
foreach($data as $k=$v){
$sum += $v;
}
mysql_query("DELETE FROM table WHERE id=$i");
mysql_query("INSERT INTO table (id,view) VALUES ('$i','$sum')");
}
文章標(biāo)題:mysql怎么重復(fù)字段,mysql重復(fù)字段合并記錄
瀏覽路徑:http://chinadenli.net/article0/heeiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、面包屑導(dǎo)航、建站公司、網(wǎng)站設(shè)計(jì)公司、企業(yè)建站、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)