應用mysql的disctinct group by查詢不反復記載。本站提示廣大學習愛好者:(應用mysql的disctinct group by查詢不反復記載)文章只能為提供參考,不一定能成為您想要的結果。以下是應用mysql的disctinct group by查詢不反復記載正文
有個需求,一向沒有處理,在谷歌上找了半天,給出的計劃沒有一個能用了,最初鬼使神差弄定了。
是如許的,假定一個表:
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_id的數據,假如用group by 或許distinct很輕易弄定
select f_id from table group by f_id
select distinct f_id from table
但假如再想在成果中獲得id值的話,不論怎樣都邑亂。好比我想在成果頂用id停止排序,諸如”select distinct f_id, id from table order by id desc”完整空費。在谷歌上看了年夜量的例子,發明須要在select中對id做四肢舉動,讓mysql曉得除f_id外,對id應當停止若何的操作。諸如Max, Min, Avg,Sun..都是可以的,因而釀成以下的代碼就弄定了……
select f_id, max(id) as id from table group by f_id order by id desc
弄定,網上有個文章很接近謎底,然則他沒有”as id”,招致在我的mysql中履行成果有誤,呵呵。