と呼ばれる列を持つテーブルがあり、が 未満であるitemCount
ときに上位 n 行を選択したいと考えています。SUM(itemCount)
y
+----+-----------+
| id | itemCount |
+----+-----------+
| 1 | 5 |
| 2 | 10 |
| 3 | 1 |
| 4 | 20 |
+----+-----------+
この場合、次のようなものが必要な上位2行が必要ですy=15
。SUM(itemCount)<=15
SELECT * FROM `tbl_mail_queue` LIMIT 0,(select count(id) from `tbl_mail_queue` m where SUM(m.`count`)<=15)
これは可能ですか?
アップデート:
システムから送信されたすべての電子メールがこのテーブルに保存される電子メール キュー システムを作成しています。 email はニュースレターで、各メールには数十または数百の受信者がいる可能性がありますが、私はそれらを 50 の受信者スタックに分割するだけです)。
SO すべての行の count 列は 1 から 50 までの値を持つことができます。ここで、数分ごとに 50 通のメールを送信したいと考えています。ここで、1 行以上 (n) 行に含まれる上位 50 通のメールを選択するためにこのクエリが必要です。