2009年5月15日 星期五

sql操作記錄

SELECT * FROM table_name WHERE seq_no IN(
SELECT MAX(seq_no) FROM table_name WHERE user_no IN('".join('\',\'', $friendNoArray)."') GROUP BY user_no
) ORDER BY seq_no DESC;

gropu by 和 order by mysql會先run group by 再跑 order by ,造成取到的資料要unique row & 最新資料時會發生問題。
用distinct 雖然是先跑 order by 再取值,不過在select 欄位上,只能限止那個被distinct的欄位輸出。

透過 max + sub-query 就可以把要的資料query出來。

如果有人有更好的方法,再和我說啦~~~ 大感謝。

memo一下。

沒有留言: