gpt4 book ai didi

php - Mysql 查询选择多行数据

转载 作者:行者123 更新时间:2023-11-29 06:51:56 25 4
gpt4 key购买 nike

我现在正在执行四个单独的查询来选择我需要的信息。

f.e.

SELECT value FROM data where sensor=123 AND value_id=a
SELECT value FROM data where sensor=123 AND value_id=b
SELECT value FROM data where sensor=123 AND value_id=c
SELECT value FROM data where sensor=123 AND value_id=d

现在我正在尝试一些代码。我不知道我的方式是否正确,但这样的事情有可能吗:

SELECT value180,value181,value182,value183
FROM (
SELECT
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value180,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value181,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value182,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value183
FROM data
WHERE sensor_id = 1605850
AND value_id IN ("1.8.0","1.8.1","1.8.2","1.8.3")
) a

最好有一个查询...谢谢您提前提供帮助!

注意:我必须使用每个传感器每个值每天的最大值。在上面的第一个示例中,为了简化而省略了这个 max 函数。

这是表格的样子: enter image description here

如您所见,每个 value_id 都有每小时获取的值

我需要什么:我需要定义的 value_id 昨天的最高值

f.e. 1.8.0 = 3726.12,1.8.1 = 663.69,...

通过我的组合查询,我得到了错误的值,但我想要获取值的格式方式是正确的:

enter image description here

最佳答案

尝试

SELECT  value FROM data
WHERE sensor=123 AND value_id IN ('a', 'b', 'c' , 'd');

SELECT value FROM data
WHERE sensor=123 AND value_id IN (SELECT DISTINCT value_id FROM data);

关于php - Mysql 查询选择多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47097314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com