2012-01-17 14 views

答えて

16
delete from some_table where rand() < 0.5; 

これは、時間の最もについて半分レコードを削除します。

+0

rand()は必要ではありませんが、特に小さなデータセットの場合は、50%を与えてください。 2つのクエリを使用することが許可されている場合は、最初の行の行数を数えて、削除クエリでLIMITを使用します...しかし、1つのクエリでそれを行う方法があるように感じますただし、LIMITではサブクエリを使用することはできません。だから、テーブルの構造と関係がなければなりません...しかし、それは質問で与えられていません.... hmmmmm SELECT COUNT(*)FROM table;テーブルLIMIT行/ 2からDELETE FROM; –

+0

@Greg Hewgill:完全回答、+1 – zerkms

+0

@Authman Apatira:2つのクエリと 'COUNT(*) 'を使っても、正確には半分の行を削除することはできませんでした。 – zerkms

関連する問題