有3个字段,id,用电量,日期,求连续7天电量大于150的sql
时间: 2024-01-04 16:04:29 浏览: 131
可以使用如下 SQL 语句来查询连续 7 天电量大于 150 的数据:
```
SELECT t1.*
FROM (
SELECT id, SUM(`用电量`) AS total
FROM table_name
WHERE `用电量` > 150
GROUP BY id, `日期`
HAVING COUNT(*) = 7
) t1
INNER JOIN (
SELECT id, `日期`, SUM(`用电量`) AS total
FROM table_name
WHERE `用电量` > 150
GROUP BY id, `日期`
) t2
ON t1.id = t2.id AND t1.total = t2.total
```
其中,`table_name` 表示你的数据表名。这个 SQL 语句的思路是,先找出每个 id 在每个日期连续 7 天电量大于 150 的记录,然后再通过内连接找出连续 7 天电量大于 150 的记录的总和等于每个 id 在每个日期的用电量总和的记录。
相关问题
3个字段,id,用电量,日期,求连续7天用电量大于150的sql
可以使用如下 SQL 语句来查询连续 7 天用电量大于 150 的数据:
```
SELECT t1.*
FROM (
SELECT id, SUM(`用电量`) AS total
FROM table_name
WHERE `用电量` > 150
GROUP BY id, `日期`
HAVING COUNT(*) = 7
) t1
INNER JOIN (
SELECT id, `日期`, SUM(`用电量`) AS total
FROM table_name
WHERE `用电量` > 150
GROUP BY id, `日期`
) t2
ON t1.id = t2.id AND t1.total = t2.total
```
其中,`table_name` 表示你的数据表名。这个 SQL 语句的思路是,先找出每个 id 在每个日期连续 7 天用电量大于 150 的记录,然后再通过内连接找出连续 7 天用电量大于 150 的记录的总和等于每个 id 在每个日期的用电量总和的记录。
3个字段,id ,用电量,日期,求连续7天用电量大于150的sql
可以使用如下 SQL 语句来查询连续 7 天用电量大于 150 的数据:
```
SELECT *
FROM (
SELECT id, `日期`, `用电量`,
IF(`用电量` > 150, @s:=@s+1, @s:=0) AS s
FROM table_name, (SELECT @s:=0) AS s
ORDER BY id, `日期`
) t
WHERE t.s >= 7
```
其中,`table_name` 表示你的数据表名。这个 SQL 语句的思路是,使用变量 `@s` 记录连续用电量大于 150 的天数,如果当前用电量大于 150 则 `@s` 加 1,否则重置为 0。然后按照 id 和日期排序,找出 `@s` 大于等于 7 的记录,即连续 7 天用电量大于 150 的记录。
阅读全文