mysql - 需要更改 SQL 查询以获得临时结果
问题描述
我只需要一个查询的临时结果。如果子字符串条件为真,我想将其 car_performance 值降低 %10 (car_performance = car_performance*0.9;) 并将这个子字符串真车与其他车进行比较,但仅用于查询,我不想更改 SQL 数据库中的真实数据.
所以我想我需要把这些数据放到一个新的临时表中,降低 car_performance 值,但我不知道如何编写它。
SELECT *
FROM car_list
IF SUBSTRING(car_model, 9, 1) = '3'`
car_performance = car_performance*0.9;
ORDER BY car_performance ???
解决方案
我想您需要根据其中一些汽车的状况对整套汽车进行比较,而其余汽车则保持原样。如果是这样,CASE WHEN ... THEN .. ELSE ...
条件语句将起到作用,例如
SELECT CASE WHEN SUBSTRING(car_model, 9, 1) = '3'
THEN car_performance * .9
ELSE car_performance
END AS car_performance
FROM car_list
ORDER BY car_performance
推荐阅读
- sql - 如何通过从多连接选择语句中选择所有列来创建视图或表?
- python - 如何在特定的行和列上合并 2 个 DataFrame?
- php - 在 XAMPP OS X 10.13.5 上安装 PDFlib
- javascript - 当使用“super”将“eventEmitter”扩展到我的班级时,this.name 返回 undefined
- php - 从 PhpStorm 在 docker 上运行测试不会启动 apache2
- angular - Angular - 将额外的表单数据传递给服务器
- postgresql - 更改主键数据类型
- django-rest-framework - Django Rest Framework是否可以通过外键使用geometry_field从查询中序列化geojson?
- regex - 带有可选小数和反向引用的 sed 数字
- xml - 我需要使用具有最大值的 XSL 动态创建编号的 XML