最高のidカラムを持つすべてのメールを表示します

コード:

この質問は、過去にここに掲載されている場合、私はお詫び申し上げます。私はここに投稿する前に、私は常にいくつかの研究を行います。

私は、格納された電子メールのデータベースを持っています。各電子メールはとても例えば電子メール[email protected]は4つの結果を持っている可能性があり、複数の行を持っています。結果は異なっている唯一のものは、ステータス列です。ステータス値は、「処理」することができ、「オープン」、「配信」、「クリック」。

私は、自分の状態の最高の「ID」とのメールを表示することができWANNA。

ここに私の現在のテーブルがあります

ここでは、画像の説明を入力します。

ここで私は、ディスプレイにしようとしているものです。

ここでは、画像の説明を入力します。

私はこのクエリを試してみたが、それは単にテーブル全体で最高の「ID」を持つ唯一の1つの電子メールを返します。

SELECT email, status FROM sendgrid WHERE template_sent_id = '19454767' ORDER BY id DESC LIMIT 0, 1
ゴードン・リノフ:

一つの方法は、相関サブクエリです。

SELECT sg.email, sg.status
FROM sendgrid sg
WHERE sg.template_sent_id = 19454767 AND
      sg.timestamp = (SELECT MAX(sg2.timestamp)
                      FROM sendgrid sg2
                      WHERE sg2.template_sent_id = sg.template_sent_id AND
                            sg2.email = sg.email
                     );

パフォーマンスを得るために、あなたがしたいとのインデックスsendgrid(template_send_id, email, timestamp)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=280775&siteId=1