查询device_monitor_attr_his表1月,3月,4月,5月,8月的数据,并且每个月的数据只要最新一条 sql怎么写
时间: 2024-03-02 20:53:45 浏览: 46
可以使用以下 SQL 语句查询 `device_monitor_attr_his` 表中 1 月、3 月、4 月、5 月和 8 月的最新一条数据:
```
SELECT a.*
FROM device_monitor_attr_his a
INNER JOIN (
SELECT MAX(record_time) AS max_time
FROM device_monitor_attr_his
WHERE MONTH(record_time) IN (1, 3, 4, 5, 8)
GROUP BY MONTH(record_time)
) b ON a.record_time = b.max_time;
```
这里使用了子查询来获取每个月的最大时间戳,然后使用内连接将 `device_monitor_attr_his` 表中时间戳等于最大时间戳的记录筛选出来,从而得到每个月的最新记录。
相关问题
查询device_monitor_attr_his表1月,3月,4月,5月,8月的数据 sql怎么写
可以使用以下 SQL 语句查询 `device_monitor_attr_his` 表中 1 月、3 月、4 月、5 月和 8 月的数据:
```
SELECT *
FROM device_monitor_attr_his
WHERE MONTH(record_time) IN (1, 3, 4, 5, 8);
```
这里使用了 SQL 函数 `MONTH()` 来获取 `record_time` 字段的月份,然后使用 `IN` 运算符来筛选出指定月份的数据。
根据deviceID和monKey作为唯一键, 查询device_monitor_attr_his表,按数量降序排序,sql怎么写
以下是查询语句:
```sql
SELECT deviceID, monKey, COUNT(*) AS count
FROM device_monitor_attr_his
GROUP BY deviceID, monKey
ORDER BY count DESC;
```
这条SQL语句使用`GROUP BY`对`deviceID`和`monKey`进行分组,并使用`COUNT(*)`函数计算每个组的数量。最后使用`ORDER BY`按数量降序排序结果。
阅读全文