0
令是這樣的一個表:MySQL的:選擇X最小值
CREATE TABLE `amoreAgentTST01` (
`moname` char(64) NOT NULL DEFAULT '',
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`data` longblob,
PRIMARY KEY (`moname`,`updatetime`)
我有一個查詢查找每個獨立的「moname」最古老的記錄,但只有當有多個記錄本「 moname':
SELECT moname, updatetime FROM amoreAgentTST01 a
WHERE (SELECT count(*) FROM amoreAgentTST01 x WHERE x.moname = a.moname) > 1
AND a.updatetime = (SELECT min(updatetime) FROM amoreAgentTST01 y WHERE y.moname = a.moname) ;
我的問題是:如何做到這一點,但選擇X最古老的值? 我現在只是運行這個,刪除最舊的值並重新運行它......這不是很好。
秒問題是:你怎麼看待上面的查詢?可以改進嗎?有沒有明顯的不良做法?
非常感謝您的建議和幫助。
巴特
你的意思是選擇不是該moname的最新行的所有行嗎?或者每個moname只有一個常量X行? – NickZoic 2009-04-23 09:57:34
每個moname有恆定的X行,這些行是最老的行。 – Barth 2009-04-23 10:00:35