sqlite - 在sqlite中使其简单

标签 sqlite

这是我的sqlite声明:

select code ,  
case  when  (max(close)-min(close))/min(close)<0.1 then "grade1" 
when  (max(close)-min(close))/min(close) <0.2  then  "grade2"
when  (max(close)-min(close))/min(close) <0.3  then  "grade3"
else "grade4"  end  as  type;

(max(close)-min(close))/min(close)使用了3次,如何使我的查询语句更简单?

最佳答案

将计算结果放入子查询中:

SELECT code,
       CASE WHEN CloseRatio < 0.1 THEN 'grade1'
            WHEN CloseRatio < 0.2 THEN 'grade2'
            WHEN CloseRatio < 0.3 THEN 'grade3'
            ELSE                       'grade4'
       END AS type
FROM (SELECT code,
             (MAX(close) - MIN(close)) / MIN(close) AS CloseRatio
      FROM MyTable);

关于sqlite - 在sqlite中使其简单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319143/

相关文章:

php - 使用 SQLite 迁移 Laravel

entity-framework - VS2012 中针对 .NET 4.0 的 System.Data.SQLite 设计时组件

mysql - 如何使用 GUI 工具在虚拟机上管理 SQLite 数据库

android - 通过 ANDROID 中的 EMAIL_ADDRESS 检索 SQLITE 数据库中的用户名和密码

sqlite - 使用 sql.js 读取 blob 类型的 sqlite3 数据库列时遇到问题

java - 如何在 db.execSql 中加快 sqlite android 中的查询速度

java - sqlite-android-如何加密数据并将其放入sqlite

android - 确保审计表不影响应用程序使用的 RAM

objective-c - 用于在 Core Data 中执行计算的链式表达式

sqlite - 适用于 Windows 7 和 Windows 8 手机的 Phonegap/Cordova SQLite 插件?