同じテーブルIDを達成SQLライン上の個別の最大使用に時間がかかります

このようなデータテーブルがあります

選択 *  から water_level_records Mの場合選択 *から water_level_records N m.device_id = n.device_id  m.record_time < n.record_time < 1 

テーブルが関連付けるために使用するように、このロジックは、すなわち、それは最大時間があれば、であり、mが記録時間に等しくなる記録時間の数nよりも少ない場合にのみ、<すなわち。1を返す2つのテーブルをSQL <2上の2つの値は、ここで一意DEVICE_IDに関連付けられています

もっと面白いの方法

SELECT  DISTINCT  オン(DEVICE_ID)DEVICE_ID、RECORD_TIME から water_level_records 順序 によって DEVICE_ID、RECORD_TIMEのDESC 

DISTINCT record_tiemとしてそこDEVICE_IDされている場合ここでは、使用上のDISTINCTと異なる効果DISTINCT、これら2つの列が異なる満足一意性を持っています。効果は、いくつかの列に続く、あなたはDEVICE_IDの一意性を維持しなければならない事項について別個のものです 

ここではプラスオーダー効果RECORD_TIMEの降順でわずか最大のもののための時間がかかります。DEVICE_IDによるORDER BY順の割合であれば(DEVICE_ID)にDISTINCTが必要な場合もあることに注意してください

ます。https://www.cnblogs.com/wangshaowei/p/11042392.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34221276/article/details/93720537