タイムスタンプを使用しないでテーブル内の重複レコードから最新のIDを取得しようとしています。MySQL:テーブル内の重複レコードから最新IDを取得
SELECT *
FROM `table`
WHERE `title` = "bananas"
-
table
id title
-- -----
1 bananas
2 apples
3 bananas
は理想的には、私はID 3
タイムスタンプを使用しないでテーブル内の重複レコードから最新のIDを取得しようとしています。MySQL:テーブル内の重複レコードから最新IDを取得
SELECT *
FROM `table`
WHERE `title` = "bananas"
-
table
id title
-- -----
1 bananas
2 apples
3 bananas
は理想的には、私はID 3
私は少しあなたの例ではSELECTで混乱してるをつかむしたいのですが、うまくいけば、あなたはこれをつなぎすることができます私の例から。あなたは、最新の行を返すようにしたい場合は、私は間違いなく、その行「最新」を作るかを判断しようとしているお勧めしますが
は、あなたは単にMAX()機能
SELECT MAX(id) FROM TABLE
を使用することができます。最も高い列[id]を持っているという理由だけで、何が起こっているのかを検討したいことがあります。同じデータを使用する2つのデータベースを結合する場合はどうなりますか? [id]列を外すことは最良の決定ではないかもしれません。可能であれば、[LastUpdated]または[Added]日付スタンプの列をデザインに追加することをお勧めします。 idを想定し
イムは、あなたが、あなたが持っているどのように多くの行変数にして、あなたが持っているどのように多くの行格納する変数をチェックするためにWHERE =句を設定した店舗を数えることができる
、オートインクリメントされます。しかし、これはハックの解決策です。なぜなら、行を削除してIDが減少しないと、IDをスキップすることになるからです。
行の数と最大のIDは、行が削除されると、相互に関係しない可能性があります。 –
select max(a.id) from mydb.myTable a join mydb.myTable b on a.id <> b.id and a.title=b.title;
「最新のID」はどのように定義しますか?ちょうど最大のもの? 「重複レコード」とはどういう意味ですか? –
主キーから作成された最新のものと同じ最大のIDです。重複したレコードによって、私はこのケースでは重複するタイトルを意味する "バナナ" – Aaron