teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

調整

2022/01/05 03:22

投稿

yambejp
yambejp

スコア117914

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),index(sum));
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

調整

2022/01/05 03:21

投稿

yambejp
yambejp

スコア117914

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
- create table tbl(id int primary key auto_increment,name varchar(10),sub1 int,sub2 int,sum int as (sub1+sub2),index(sum));
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),