gpt4 book ai didi

mysql - How to make a query based on other table values?,一个查询另一个表的每个唯一值

转载 作者:行者123 更新时间:2023-11-29 05:48:02 25 4
gpt4 key购买 nike

我有 3 个表“设备”、“数据”和“变量”,如下所示:

Devices table

|dev_id | serialnumber |
|--------|--------------|
|1 | 123546 |
|2 | 456879 |
|3 | 789456 |
. .
. .
. .


variables table

|var_id | name |
|--------|--------------|
|1 | BAT |
|2 | TEMPERATURE |
|3 | PRES |
. .
. .
. .


Data table

|id | dev_id | var_id | value | timestmp |
|----|---------|--------|-------| --------------------|
|1 | 1 | 1 | 15 | 2019-08-16 19:38:28|
|2 | 1 | 2 | 30 | 2019-08-16 19:38:28|
|3 | 1 | 3 | 101005| 2019-08-16 19:38:28|
|4 | 2 | 1 | 18 | 2019-08-16 20:39:28|
|5 | 2 | 2 | 50 | 2019-08-16 20:39:28|
|6 | 1 | 1 | 60 | 2019-08-16 22:20:28|
|7 | 3 | 1 | 18 | 2019-08-16 22:39:28|
|8 | 2 | 1 | 65 | 2019-08-16 20:39:28|
. . . . .
. . . . .
. . . . .

我想从数据中检索特定 var_id 的每个 dev_id 的最后一个值。但我没有找到在查询或事务中执行此操作的方法。

对于 var_id = 1,我需要这样的东西

| id  | dev_id | var_id | value | timestmp |
|-----|--------|--------|-------|----------|
|8 | 2 | 1 | 65 | ...... |
|7 | 3 | 1 | 18 | ...... |
|6 | 1 | 1 | 60 | ...... |

最佳答案

不存在:

select t.* from data t
where
t.var_id = 1
and
not exists (
select 1 from data
where dev_id = t.dev_id and var_id = t.var_id and timestamp > t.timestamp
)

关于mysql - How to make a query based on other table values?,一个查询另一个表的每个唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57572494/

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