ホームページ >バックエンド開発 >PHPチュートリアル >データベースからいくつかの数値をランダムに取り出し、それらを合計して 100 以上になるようにするにはどうすればよいですか?
データベースから数値データをランダムに取り出して、100 以上の値に追加するにはどうすればよいですか?
質問が少し矛盾しているように見えたので、別の方法で質問しました
データベースからいくつかの数値を取得するには、これらの数値の合計が以上である必要があります取り出す数に制限はありません
例: 2 つの数字 50 と 50 を取り出すことができ、その合計は 100 になります
4 つの数字 10、20 を取り出すこともできます。 、 20、 50、その合計も 100 に等しくなります。
これらの数値の合計が 100 より大きい場合は、 10.5、 20.5、 30、 20、 26 を取り出すこともできます。 または、 他の数値を取り出すこともできます。それはあり得る追加すると 100 以上になります。
ただし、100以上になると取り出すのをやめて出力しますページに取り出された番号
アイデアを教えてください。
初めて、100 個のアイテムを直接取り出します。
次に、合計が 100 より大きいかどうかを 1 つずつ判断し、大きい場合は直接飛び出します。
この方法では、データベースに 1 回アクセスするだけで済み、時間を節約できます。
他の兄弟がより良い方法を持っているかどうかはわかりません
が必要です。昇順の ID フィールドアシスト
これを行う意味がわかりません
select * from tbl_name a where (select sum(field) from tbl_name where id>=a.id) > です
それは昇順 ID フィールドの支援が必要です
いいえ、これを行う意味がわかりますか
いわゆる非効率な方法を先にやるべきです!
ああ、つまり、私が考えた方法はサーバーのリソースを多く消費する可能性があることを明確に表現していなかったため、気分を害しました。
その後、効率的なコードに最適化できます
自分が何をしたいのか、それを達成するためにどのような方法を経る必要があるのかを正確に伝えることはできません。どうすれば効率的になるでしょうか? コード
たとえば、次のようになります。 2 つの数字 50 と 50 を取り出すと、合計は 100 になります
10、20、20、50 の 4 つの数字を取り出すと、合計は 100 になります。 ;
10.5、20.5、 30 、 20 、 26 、これらの数値の合計は 100 より大きくなります。
100 以上の数値。
取り出す数字は100以上なら何個でも大丈夫ですが、100以上になると取り出せなくなります。取り出したデータをページに出力します。ソリューションはシンプルであればあるほど良いのです。
これが聞きたいことです。
一つ一つ読み込むにはプログラムを組み合わせる必要があります
クエリコマンド
内部条件判定付き while ループ
どうやって作れるのか分かりません簡単です
select * from tbl_name a where (select sum(field) from tbl_name where id>=a.id) > 100
昇順の ID フィールド支援が必要です
このようなことはデータベース単体ではできません
一つ一つ読み込むにはプログラムを組み合わせる必要があります
クエリコマンド
内部条件判定付き while ループ
どうやって作れるのか分かりませんもっと簡単です
$rm=mysql_query("SELECT * FROM `pql_spices` ORDER by rand()"); while ($rmx=mysql_fetch_array($rm)) { $Total+=$rmx['Price']; if ($Total>=100)break; echo $rmx['id']."、".$rmx['title']; echo "<br />"; } echo $Total;
これは私が言ったことではありませんか
クエリ命令
内部条件判断を伴う while ループ
?
そのコマンドについては、マネージャーで実行すると何が起こっているかがわかります