電子書籍の厳選無料作品が豊富!

PHP、SQLで足し算

質問させてください。
ランキングのプログラムを作成しているのですが、
足し算と数値移動で困っています。

たとえば、

IN OUT before_IN before_OUT TOTAL

の5つのフィールドで、

(1)before_INにINを、before_OUTにOUTを入れる
(2)TOTALには、もとのTOTAL数値とINとアウトを足す
(3)INとOUTをゼロにする

をSQL上で行いたいのですが、どうしても出来ません。
SELECTで呼び出して、そこで処理をして、再度UPDATEを一行一行かけるしか
ないのでしょうか?大量のデータだと重くなりそうです。

いっぺんに行うのではなく、二度三度でもかまわないのですが。

よろしくお願いいたします。
ちなみにすべてのフィールドは、INTを使用しております。

A 回答 (1件)

>(1)before_INにINを、before_OUTにOUTを入れる


>(2)TOTALには、もとのTOTAL数値とINとアウトを足す
>(3)INとOUTをゼロにする

これてt、2度アップデートするとbefore_IN,before_OUT,IN,OUTすべてが0になっておしまいですが・・・
ロジックが固まっていないみたいですね

言われたとおりにやるなら
UPDATE テーブル SET before_IN=IN,before_OUT=OUT,TOTAL=TOTAL+IN+OUT,IN=0,OUT=0
的な処理ではなでしょうか?

>大量のデータだと重くなりそうです。

まぁそういうことをしたいように見えますから、重くなりそうですね

ランキングについてはちゃんとしたロジックがあるのでいろいろ調べてみるといいかと思います。
(もう少し具体的な例があればきちんとフォローもできたのですが)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!