- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TABLE内の行をランダムに半減させたい。)
テーブルの行をランダムに半減させる方法
このQ&Aのポイント
- 質問者はあるテーブルの行をランダムに半減させたいと思っています。テーブルのキーはinstance_idとuser_idであり、同一userが複数のinstanceを持ち、同一のinstanceが複数のuserに所持されうるという構成になっています。現在の方法で行数が半減しないため、新しい方法を求めています。質問者はinstance_idとuser_idの両方を含む条件で行を削除しようとしましたが、エラーが発生しました。
- 質問者はテーブル内の行をランダムに半減させる方法を探しています。テーブルのキーはinstance_idとuser_idであり、同一userが複数のinstanceを持ち、同一のinstanceが複数のuserに所持されうるという構成になっています。質問者はinstance_idとuser_idの両方を含む条件で行を削除しようとしましたが、エラーが発生しました。オンラインで検索した結果、適切な解決策を見つけることができませんでした。
- 質問者はあるテーブルの行をランダムに半減させる方法を探しています。テーブルのキーはinstance_idとuser_idであり、同一userが複数のinstanceを持ち、同一のinstanceが複数のuserに所持されうるという構成になっています。現在の方法では行数が減らないため、新しい方法を模索しています。質問者はinstance_idとuser_idの両方を含む条件で行を削除しようとしましたが、エラーが発生しました。オンラインでの検索にも関わらず適切な解決策を見つけることができませんでした。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 DELETE FROM table1 AS T1 USING (SELECT user_id, instance_id FROM table1 ORDER BY random() LIMIT 100) AS T2 WHERE T1.user_id = T2.user_id AND T1.instance_id = T2.instance_id; こんな感じでだめですか?
お礼
補足につけてしまったんですが、postgres固有の問題なのでしょうか? よろしくお願いします。
補足
ありがとうございます。とても助かります。 だいたい、どうすればいいのかがわかってきたきがします。 ただ、この構文で、実行すると Error syntax error at or near "AS" at character 34 と言われます。この部分はどう修正するとよいでしょうか? 初心者でもうしわけございませんが、何かご存知でしたらお教えいただけませんか? よろしくお願いします。