SELECT area_id,thresholdType,thresholdDelt,thresholdPre,thresholdFinal,setStamp,setnotes,ctime,api_key case thresholdType when 1 then "温度" when 2 then "湿度" when 3 then "CO2浓度" when 4 then "PM2.5标浓度" end FROM threshold_set ORDER BY ctime DESC LIMIT #{begin},#{num} 哪里有错误
时间: 2024-04-02 19:33:15 浏览: 8
在 SELECT 语句中,应该在 case 语句的 END 后面添加一个别名,以便在结果中显示。可以使用 AS 关键字来指定别名,例如:
SELECT area_id,thresholdType,thresholdDelt,thresholdPre,thresholdFinal,setStamp,setnotes,ctime,api_key,
CASE thresholdType
WHEN 1 THEN "温度"
WHEN 2 THEN "湿度"
WHEN 3 THEN "CO2浓度"
WHEN 4 THEN "PM2.5标浓度"
END AS thresholdTypeName
FROM threshold_set
ORDER BY ctime DESC
LIMIT #{begin},#{num}
相关问题
@RequestMapping(value = "/getThresholdList", method = RequestMethod.POST) @ResponseBody public JSONObject getThresholdList(String area_id,String thresholdType,String thresholdDelt,String thresholdPre,String thresholdFinal,String setstamp,String setnotes,String ctime,String api_key) { JSONObject result = new JSONObject(); try { String apikey = session.getAttribute("apikey").toString(); List<Threshold> thresholdList = thresholdService.getThresholdList(area_id,thresholdType,thresholdDelt,thresholdPre,thresholdFinal,setstamp,setnotes,ctime,api_key); result.put("rows", thresholdList); result.put("total", thresholdList.size()); return result; } catch (Exception e) { e.printStackTrace(); return result; } } /**
这是一个使用Spring MVC框架实现的控制器方法,使用POST请求获取阈值列表。以下是方法的详细说明:
1. @RequestMapping注解指定了请求的URL路径(/getThresholdList)和请求方式(POST)。
2. @ResponseBody注解表示方法返回的对象将被转换为JSON格式并作为响应体发送到客户端。
3. 方法的参数包括area_id(地区ID)、thresholdType(阈值类型)、thresholdDelt(阈值变化值)、thresholdPre(阈值前值)、thresholdFinal(阈值终值)、setstamp(设置时间戳)、setnotes(设置注释)、ctime(创建时间)和api_key(API密钥)。
4. 方法首先尝试从会话中获取apikey,如果获取失败则返回空响应体。
5. 调用thresholdService的getThresholdList方法查询阈值列表,将结果存储在一个JSONObject对象中并返回给客户端。阈值列表存储在rows字段中,总数存储在total字段中。
6. 如果发生异常,则打印异常堆栈信息并返回空响应体。
总的来说,这个方法是一个用于获取阈值列表的API接口,并使用Spring MVC框架和JSON格式进行实现。
SELECT * FROM t_cashflow WHERE DATE(SELECT cash_ctime FROM t_cashflow WHERE cash_money = 200 and driver_id = 1 and cash_direction = 2 ) = CURDATE();
这个 SQL 语句的语法是错误的,应该使用以下语句:
```sql
SELECT * FROM t_cashflow
WHERE DATE(cash_ctime) = CURDATE()
AND cash_money = 200
AND driver_id = 1
AND cash_direction = 2;
```
这个语句会查询 `t_cashflow` 表中所有 `cash_ctime` 为今天的记录,且 `cash_money` 为 200、`driver_id` 为 1、`cash_direction` 为 2 的记录。你可以根据需要修改查询条件和返回字段,例如:
```sql
SELECT cash_id, cash_money, cash_ctime
FROM t_cashflow
WHERE DATE(cash_ctime) = CURDATE()
AND cash_money = 200
AND driver_id = 1
AND cash_direction = 2;
```
这个语句只返回 `cash_id`、`cash_money` 和 `cash_ctime` 字段的值。
阅读全文