SQL查詢請教?

小弟有一個資料庫,想從中找到以「stockid」排列,並且再取「序號」最大值的語法?

小弟只會寫成這樣?
select stockid,MAX(序號) from AAA group by stockid order by stockid,不知有哪位高手可以指點一下
謝謝


SQL查詢請教?
2010-08-04 18:33 發佈
文章關鍵字 sq SQL

joey0415 wrote:
小弟有一個資料庫,想...(恕刪)


oracle db,不用 group by 的方式

select a.stockid , (select max(seq) from AAA where stockid = a.stockid) from (select distinct stockid from AAA) a order by a.stockid

select distinct AAA.stockid , (select max(b.seq) from AAA b where b.stockid = AAA.stockid) from AAA order by AAA.stockid
那我也來一個好了

PostgreSQL


SELECT * FROM (SELECT stockid,max(序號) AS sn FROM AAA GROUP BY stockid) AS db1 LEFT JOIN AAA AS db2 ON db1.stockid=db2.stockid AND db1.sn=db2.序號 ORDER BY stockid

執行後 stockid 跟 序號 會重複出現 但是懶得改 * 號了
改好了!原來是子查詢加上LEFT JOIN的語法

小弟剛入門,練習不周


SELECT * FROM (SELECT stockid,max(序號) AS sn FROM db1. GROUP BY stockid ) AS db1 LEFT JOIN AAA AS db2 ON db1.stockid=db2.stockid AND db1.sn=db2.序號 ORDER BY db1. stockid

樓上的少了 db1所以在SQL_SERVER上無法判別,加上去就好了
哈 因為沒有 DB 可以測試,憑空想像
小地方就沒注意到了,金拍謝

不過 原來的 Table 要是有加上 serial no 的話事情就比較簡單了
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?