回答編集履歴
1
調整
test
CHANGED
@@ -10,3 +10,26 @@
|
|
10
10
|
select * from tbl
|
11
11
|
order by (表示価格='定価')*定価+(表示価格='割引')*割引価格 desc
|
12
12
|
```
|
13
|
+
|
14
|
+
# 調整
|
15
|
+
予め生成列を設定しておくという手もあります
|
16
|
+
```SQL
|
17
|
+
create table tbl(
|
18
|
+
id int primary key,
|
19
|
+
商品 varchar(10),
|
20
|
+
定価 int,
|
21
|
+
割引価格 int,
|
22
|
+
表示価格 enum('定価','割引'),
|
23
|
+
価格 int as ((表示価格='定価')*定価+(表示価格='割引')*割引価格 )
|
24
|
+
);
|
25
|
+
|
26
|
+
insert into tbl(id,商品,定価,割引価格,表示価格) values
|
27
|
+
(1,'A','15000','9000','定価'),
|
28
|
+
(2,'B','12000','10000','割引'),
|
29
|
+
(3,'C','11000','5000','定価'),
|
30
|
+
(4,'D','9000','8000','割引');
|
31
|
+
|
32
|
+
select * from tbl
|
33
|
+
order by 価格 desc;
|
34
|
+
```
|
35
|
+
|