回答編集履歴
2
調整
answer
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
name varchar(10),
|
7
7
|
sub1 int,
|
8
8
|
sub2 int,
|
9
|
-
sum int as (sub1+sub2),
|
9
|
+
sum int as (sub1+sub2),
|
10
|
+
index(sum));
|
10
11
|
insert into tbl(name,sub1,sub2) values
|
11
12
|
('A',50,60),
|
12
13
|
('B',40,80),
|
@@ -16,4 +17,5 @@
|
|
16
17
|
('G',60,50);
|
17
18
|
|
18
19
|
select * from tbl order by sum desc;
|
19
|
-
```
|
20
|
+
```
|
21
|
+
生成列にはインデックスも貼れます
|
1
調整
answer
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
解決済みのようですが、合計値を参照する機会が多いなら生成列(自動計算列)を設定しておくと便利です
|
2
2
|
|
3
3
|
```SQL
|
4
|
+
create table tbl(
|
5
|
+
id int primary key auto_increment,
|
6
|
+
name varchar(10),
|
7
|
+
sub1 int,
|
8
|
+
sub2 int,
|
4
|
-
|
9
|
+
sum int as (sub1+sub2),index(sum));
|
5
10
|
insert into tbl(name,sub1,sub2) values
|
6
11
|
('A',50,60),
|
7
12
|
('B',40,80),
|