當(dāng)前位置:博客首頁(yè)>>編程基礎(chǔ) >> 閱讀正文

Mysql中如何查詢所有唯一記錄

作者: 鄭曉 分類: 編程基礎(chǔ) 發(fā)布于: 2012-08-25 07:30 瀏覽:9,410 沒有評(píng)論


Mysql中如何查詢所有唯一記錄?

今天剛下班時(shí)看到網(wǎng)上有人問(wèn)了一個(gè)mysql問(wèn)題,關(guān)于如何在mysql中查詢出所有不重復(fù)的記錄,搞了很長(zhǎng)時(shí)間才寫了條,算是學(xué)習(xí)一下吧,自己對(duì)mysql也不是很了解。下面來(lái)看一下具體問(wèn)題:

1.表結(jié)構(gòu)是這樣的:


該表中aa、bb都有重復(fù),而cc 、dd都沒有重復(fù),問(wèn)如何能查詢出所有未重復(fù)的記錄呢?

最終我給出的SQL是這樣的:

SELECT * FROM table_name GROUP BY name HAVING(COUNT(*)=1);

其中使用了 group by、having和count() 三個(gè)方法,不知道為什么把group by放到 having的后面就會(huì)報(bào)錯(cuò),放到前面就正常。。。

其實(shí)一開始我直接想這樣:

SELECT *,COUNT(*) as counts?FROM table_name WHERE counts=1 GROUP BY name ;

結(jié)果一執(zhí)行就報(bào)語(yǔ)法錯(cuò)誤,網(wǎng)上搜了一下才知道m(xù)syql中的別名是不能用于where條件查詢中的。

由此,一條簡(jiǎn)單的語(yǔ)句實(shí)現(xiàn)了Mysql中如何查詢所有唯一記錄的方法。

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://yjfs.org.cn/mysql-how-to-query-all-unique-records.html

發(fā)表評(píng)論

change vcode