sql >> データベース >  >> RDS >> Mysql

INNERJOINを使用してテーブルから最新のタイムスタンプ行を取得します

    各テーブルの候補キーを知らずに多くのことを言うのは難しいですが、一般的にはSELECTを確認する必要があります 句は機能的にGROUP BYに依存します 句。問題の定式化を考えると、私は次のようなものを提案します:

    SELECT e.name,e.illness, e.patient_id,e.patient_image,e.area, e.arduino_mac,
           l.arduino_mac, l.latitude, l.longitude, l.timestamp as ts 
    FROM elderly1 e 
    JOIN ( SELECT l1.arduino_mac, l1.latitude, l1.longitude, l1.timestamp
           FROM location l1
           WHERE timestamp = ( SELECT MAX(timestamp)
                               FROM LOCATION l2
                               WHERE l1.arduino_mac = l2.arduino_mac )
    ) as l
        on e.arduino_mac = l.arduino_mac 
    ORDER BY l.timestamp
    


    1. nvarchar連結/インデックス/nvarchar(max)不可解な動作

    2. ステートメントのINSERTINTO...部分を繰り返さずに、複数の行を挿入しますか?

    3. PHPオブジェクトプロパティには角かっこが含まれています

    4. MariaDBでLEAST()がどのように機能するか