検索

ホームページ  >  に質問  >  本文

mysql - sql怎样删除所有值总和小于某个阈值的行?

如果一张表只有3个字段A,B,C
那么
delete from table where (A+B+C) < t; 即可

但是一张表有几千个字段(可能有些夸张,但是注意就是几千个,请针对这张表,不要提分表的方案)
怎么解决?

PHP中文网PHP中文网2868日前681

全員に返信(2)返信します

  • 迷茫

    迷茫2017-04-17 14:27:19

    これを行うには、ストアド プロシージャでカーソルを使用します。たとえば、フィールドが 100 個あり、99 列の合計を 1000 未満にしたい場合は、列の 1 つ (dep_name) のみを除外できます。 SQL でこの列を手動で除外する必要があります。はい、計算する必要がある列が少ない場合は、前述のように列挙して追加することができます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:27:19

    a b c がすべて数値フィールドである限り、SQL ステートメントで十分です

    質問がよくわかりませんでした。本題から外れました。
    さらに追加してください

    を使用します リーリー

    すべてのフィールド名を取得し、取得したフィールド名を使用して必要な削除 SQL を組み立てます。

    返事
    0
  • キャンセル返事