私はテーブルに同じnumber
の行をいくつか持っています。1行を除くSQLからデータを削除する方法は?
1行を除くすべての行を削除するにはどうすればよいですか?私はこの意味
:だから
number
1 2
2 2
3 2
4 2
を、私はどこ数= 2すべての行を削除する必要がありますが、例えば、一列のみを残す:1 2
私はテーブルに同じnumber
の行をいくつか持っています。1行を除くSQLからデータを削除する方法は?
1行を除くすべての行を削除するにはどうすればよいですか?私はこの意味
:だから
number
1 2
2 2
3 2
4 2
を、私はどこ数= 2すべての行を削除する必要がありますが、例えば、一列のみを残す:1 2
delete t from t inner join t t2 on t2.number = t.number and t2.id < t.id
このクエリは、 'id'カラムが与えられた' number'値に対して重複しないことを前提としています。 –
まず、何でありますテーブルの本名?それは本当にt
という名前ではありませんか?名前はMyTable
としましょう。 第2に、最初の列が主キーですか?その場合、
Delete from MyTable t
where PK !=
(Select Min(PK) from MyTable
where number = t.number)
注:(これは明白です)サブクエリを使用した削除に必要なMySQLの構文上の必要条件を修正してください。
エラーコードxxxx:コメントには有用な情報が含まれていません –
これはあなたのコメントを改善して有用にする機会です。コミュニケーションのレッスンをしたいですか? –
不足している 'from'を追加した後、新しいエラーコード' Error Code:1093 'が表示されます。FROM句で更新の対象テーブル' t 'を指定することはできません。私はこれが十分明確であることを望む。 –
これは第一行以外のすべての行を削除します
delete from table_name t1
where pk_col not in (select pk_col from table_name where number = t1.number limit 1)
昇天 pk_col
=主キーCOL
エラーコード:1064.あなたはあなたのSQL構文 –
のエラーは、完全なエラーメッセージ –
delete from t where number=.. and pk > (select min(pk) from t)
を貼り付けることができますエラーコード:1093. FROM句の更新のためのターゲットテーブル 't'を指定することはできません –
私たちはテーブルTB1中2列があるとします。
ID Name
1 Akshay
2 Akshay
3 Akshay
を
これで私はdにしたいこれは2番目の行を除いてeveyの行を削除します
delete from tb1 where ID NOT LIKE 2
:elete ID 2と1を除くすべての行、
は、だから私はとしてSQL文を書きます。
これが役に立ちます。
あなたは
DELETE FROM your_table
WHERE (number2 = 2)
AND (number1 <> 1);
他の列はありません、ただ数のような何かを行うことができますか? – jarlh
いいえ、列があります – MisterPi
このリンクから役立つ情報が得られるかもしれません:http://stackoverflow.com/questions/33626927/can-a-row-be-deleted-by-specifying-rownum-in-oracle -11g –