このようなデータテーブルがあります
選択 * から 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で再現