gpt4 book ai didi

php - 由另一个表约束的两行的最大值

转载 作者:行者123 更新时间:2023-11-29 03:40:46 25 4
gpt4 key购买 nike

我正在做一些事情,我需要能够从两行中选择多列的最大值,它们在另一个表的 ID 中匹配,按 FROM_UNIXTIME(date, "%m%") 分组

SQLFiddle Example

我在上面整理了一个 SQL Fiddle 示例。

在示例中,我有两个表,PairsData。这些对由 id(非主键)连接。因此,TestDeviceATestDeviceBid 均为 1; TestDeviceCTestDeviceDid 均为 2。

对于 Data 表中的每个不同日期,我需要提取两个设备之间 data1 列的最大值,data2< 的最大值 列,data3 也是如此。

例子:

date  |  device      |  data1  |  data2  |  data3 
-------------------------------------------------
1234 TestDeviceA 222 234 555
1234 TestDeviceB 292 204 155

期望的结果应该是:

1234    TestDeviceA/TestDeviceB    292   234   555

示例查询:

SELECT FROM_UNIXTIME(date, "%m"), FROM_UNIXTIME(date, "%d"), p.id as PairID, GROUP_CONCAT(device SEPERATOR '/'), MAX(data1), MAX(data2), MAX(data3) 
FROM Data LEFT JOIN Pairs p on p.devicename=device
GROUP BY p.id,date

我觉得查询中可能缺少某些内容。

什么是更有效、更准确的方法?

最佳答案

我遇到的问题是,我的 data2data3 列是 binary(16)(它们存储来自接口(interface)统计信息的字节)。

我必须补充:

MAX(cast(s.data2 as unsigned integer)) as data2

关于php - 由另一个表约束的两行的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14241166/

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