《Mysql應(yīng)用使用mysql的disctinct group by查詢(xún)不重復(fù)記錄》要點(diǎn):
本文介紹了Mysql應(yīng)用使用mysql的disctinct group by查詢(xún)不重復(fù)記錄,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
有個(gè)需求,一直沒(méi)有解決,在google上找了半天,給出的方案沒(méi)有一個(gè)能用了,最后鬼使神差搞定了.
?是這樣的,假設(shè)一個(gè)表:
id???f_id????value???
1?????2?????????a???
2?????2?????????b???
3?????5?????????c???
4?????9?????????c???
5?????9?????????a???
6?????6?????????d??
id???f_id????value
1?????2?????????a
2?????2?????????b
3?????5?????????c
4?????9?????????c
5?????9?????????a
6?????6?????????d
?id是主鍵,f_id是外鍵,我需要獲得不重復(fù)的外鍵f_id的數(shù)據(jù),如果用group?by?或者distinct很容易搞定
select?f_id?from?table?group?by?f_id
select?distinct?f_id?from?table
?但如果再想在結(jié)果中得到id值的話(huà),不管怎么都會(huì)亂.比如我想在結(jié)果中用id進(jìn)行排序,諸如”select?distinct?f_id,?id?from?table?order?by?id?desc”完全白費(fèi).在google上看了大量的例子,發(fā)現(xiàn)需要在select中對(duì)id做手腳,讓mysql知道除了f_id外,對(duì)id應(yīng)該進(jìn)行如何的操作.諸如Max,?Min,?Avg,Sun..都是可以的,于是變成以下的代碼就搞定了……
select?f_id,?max(id)?as?id?from?table?group?by?f_id?order?by?id?desc
?搞定,網(wǎng)上有個(gè)文章很接近答案,但是他沒(méi)有”as?id”,導(dǎo)致在我的mysql中執(zhí)行結(jié)果有誤,呵呵.
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/4026.html