私は次のデータベースとクエリを持っています:
CREATE TABLE table1
(`group` int, `points` int)
;
INSERT INTO table1
(`group`, `points`)
VALUES
(1, 115),
(2, 125),
(1, 105),
(2, 000),
(3, 005),
(1, 020),
(2, 005),
(1, 010),
(2, 005),
(3, 030),
(2, 000),
(2, 055),
(2, 100),
(1, 020),
(3, 055),
(3, 055),
(1, 005),
(1, 010),
(2, 025),
(1, 035),
(2, 100),
(1, 120),
(3, 140),
(3, 105),
(1, 065),
(3, 025),
(4, 015),
(1, 005),
(2, 010),
(1, 130),
(4, 040),
(1, 055),
(4, 020),
(4, 060),
(3, 010),
(3, 105),
(4, 125),
(3, 000),
(2, 005),
(2, 010),
(1, 115)
;
CREATE TABLE soruce1
(`group` int)
;
INSERT INTO soruce1
(`group`)
VALUES
(1),
(2),
(3),
(4)
;
select s1.`group`, SUM(t1.`points`) FROM table1 as t1
inner join soruce1 as s1
on s1.`group` = t1.`group`
where s1.`group` = 1
GROUP BY s1.`group`
ORDER BY SUM(t1.`points`) ASC;
データベースとクエリ(SQL Fiddle Link)
Whileループを使用せずに、source1のすべての値をwhere句でループするにはどうすればよいですか。グループ1のクエリの実行が終了すると、グループ2に移動し、テーブルの最後まで続きます。当然、selectはInsertで使用されます
これはデータのサンプルにすぎません。source1には約5000のエントリがあります