請點選以下連結, 安裝 Flash Player 9 可協助你正確瀏覽本網站
至 Adobe 網站更新 Flash Player 9
更新完成請重新整理本網頁
Blog 首頁 | 文章列表 | 留言板 | 作品展示 |    .

如果需要將資料分組,用 group by 倒是不錯的方法。

假設有個資料表 my_db 內容如下
id   type1    column1        date1
----------------------------------------
1    red        a        2008-04-14
2    blue       b        2008-04-18
3    blue       c        2008-04-20
4    gold       d        2008-04-24
5    gold       e        2008-04-28

想要將資料分組,並挑出各組第一筆資料,可以這麼寫:
select colunm1 from my_db group by type1 order by date1
因 group by 的特性,會找到各分組的第一筆資料。可以由資料表得到 a, b, d

那麼,如果要得到各組最後一筆資料呢?
因無法藉 group by 指令特性表達,只好採用複雜一點的方式,加上含 group by 的 SQL 子句變通一下,可以這麼寫:
select column1 from my_db where date1 in (select max(date1) from my_db group by type1) order by date1
以上 SQL 語法可以找到各分組最後一筆資料,可以由資料表得到 a, c, e

自認不是資料庫高手,若有更好方法,歡迎討論~

2008/04/28 11:52 2008/04/28 11:52
2008/04/28 11:52 

Trackback Address :: http://blog.raienet.com/trackback/408

(設密碼允許你在送出後能進行編輯)

(come) (boring) (smile) (angry) (cold) (cry) (doubt) (high) (love) (scare) (zzz) (turn) 


[◀ PREV][1]... [12][13][14][15][16][17][18][19][20]... [390][NEXT ▶]