mysql SELECT語句去除某個欄位的重複資訊

來源:互聯網
上載者:User

SELECT語句,去除某個欄位的重複資訊,例如:
表名:table
id uid username message dateline
1 6  a    111    1284240714(時間戳記)
2 6  a    222    1268840565
3 8  b    444    1266724527
4 9  c    555    1266723391
執行語句(去除username欄位重複資訊並按時間排序):
SELECT *
FROM table a INNER JOIN ( SELECT max( dateline ) AS dateline
FROM table GROUP BY uid ) b ON a.dateline = b.dateline
GROUP BY id ORDER BY a.dateline DESC
結果:
id uid username message dateline
1 6  a    111    1284240714(時間戳記)
3 8  b    444    1266724527
4 9  c    555    1266723391
此語句用於顯示最新記錄資訊,在一個地區內不允許某個資訊(例如:使用者)同時出現多次(一次以上)。
後記:效率問題
開始用了個這語句:
select * from table where dateline IN ( select max(dateline) from table GROUP BY uid ) ORDER BY dateline DESC
IN:當處理資料量比較大的時候,就沒效率可言了,所以最佳化成內聯,計算下快了6倍多。。。
繼續條效率就加索引了~~
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.