我正在使用MySQL,但是我认为这是一个基本的SQL问题。
除了举个例子,我不知道还有什么要问的。
假设我的表格中有以下数据:
id date_time foreign_key key value
1 2010-01-01 00:00:00 1 'temperature' 84
2 2010-01-01 00:00:01 1 'humidity' 34
3 2010-01-01 00:00:02 2 'temperature' 45
4 2010-01-01 00:00:03 2 'humidity' 23
5 2010-01-01 00:00:04 2 'dew_point' 78
6 2010-01-01 00:00:05 3 'temperature' 57
7 2010-01-01 00:00:06 3 'humidity' 41
8 2010-01-01 00:00:07 4 'temperature' 19
9 2010-01-01 00:00:08 4 'humidity' 35
10 2010-01-01 00:00:09 4 'dew_point' 24
11 2010-01-01 00:00:10 1 'temperature' 84
12 2010-01-01 00:00:11 1 'dew_point' 34
13 2010-01-01 00:00:12 2 'temperature' 45
14 2010-01-01 00:00:13 2 'humidity' 23
15 2010-01-01 00:00:14 3 'dew_point' 57
16 2010-01-01 00:00:15 3 'humidity' 41
17 2010-01-01 00:00:16 4 'temperature' 19
18 2010-01-01 00:00:17 4 'dew_point' 24
如何获得单个Foreign_key的每个密钥的最新信息?
例如,假设我想要4的Foreign_key最新,那么我想要的结果将是:
id date_time foreign_key key value
9 2010-01-01 00:00:08 4 'humidity' 35
17 2010-01-01 00:00:16 4 'temperature' 19
18 2010-01-01 00:00:17 4 'dew_point' 24
我将使用什么SQL来达到这个结果?
顺便说一句,我意识到这并不是大多数人选择存储数据的第一种方式,但是我有自己的理由。 即,这些值彼此分开报告。
SELECT m.id, m.date_time, m.foreign_key, m.key, m.value
FROM MyTable m
LEFT OUTER JOIN MyTable mm
ON (m.foreign_key = mm.foreign_key
AND m.key = mm.key
AND m.date_time < mm.date_time)
WHERE mm.key IS NULL
AND m.foreign_key=4;
给了我我所需要的。即:
+----+---------------------+-------------+-------------+-------+
| id | date_time | foreign_key | key | value |
+----+---------------------+-------------+-------------+-------+
| 9 | 2010-01-01 00:00:08 | 4 | humidity | 35 |
| 17 | 2010-01-01 00:00:16 | 4 | temperature | 19 |
| 18 | 2010-01-01 00:00:17 | 4 | dew_point | 24 |
+----+---------------------+-------------+-------------+-------+
谢谢您的回应!
我使用更新费动态基于单选按钮在WooCommerce结账答案代码解决方案,工作非常好,我添加复选框字段与不同的价格为每一个,价格变化反映在结账。 但是我需要一些帮助:当我选择一种附加税的包装时,它会出现在订单区的后端,但只显示价格,我也想显示标题。 复选框选项有: 如何使其在订单上显示名称?是否可以将复选框改为选择字段?
问题内容: 在对话框中,如果选中了某个组合,则需要显示一组控件,否则显示另一组控件。即我需要2层,并且当组合被选中/未选中时,我需要在它们之间切换。我怎样才能做到这一点? 问题答案: CardLayout 为此,如下所示。
你可以选择要导出的字段。在默认情况下,列表中所有字段都已选择。如果你不想导出某些字段,首先取消勾选“全部字段”选项,然后在列表中取消勾选那些字段。 【注意】导出查询结果时,向导会将会跳过这个步骤。
问题内容: 我遇到了我不希望做的事情,我不知道该如何处理活动记录(实际上我无法确切地说出如何使用sql来做)。我想根据某个字段的最高值以及其他一些条件来选择记录。以下是一些伪造的东西,它们解释了我的情况。给出以下记录: 我希望能够获取已保存的修订版本号最高的记录。这意味着ID为:3、6和8的记录 我的第一个本能是做某种子查询,该子查询在修订之类的东西上获得MAX。除此之外,我真的不知道该怎么做,因
根据结果,选出最优版本 为了避免流量过小而造成的结果偏差,用户可以根据自身情况,由小到大逐步增加流量分配,判断当前流量分配的数据结果是否具有普遍意义,最终选出最优版本。 若试验版本表现较好,则可以通过在线发布将此版本推送给所有用户(APP用户无需经过应用市场审核);若原始版本表现较好,则可以选择结束试验。 在发布最优版本后,继续观察用户行为数据,找出可以进一步优化的内容,不断进行A/B 测试,就可
抱歉发了这么长的帖子! 我有一个Mongo收藏,包含以下文档: 我想查询这些文档,并返回每个名称的最大值条目,因此我想要的结果集(顺序无关紧要)是: 如果我想在C#中做完全相同的事情,我会使用: 使用聚合管道,我已经达到了: 这给了我以下结果集: 如您所见,我有一个文档数组,每个文档都包含一个“_id”字段(名称)和一个“highest”字段(实际文档)。 这将用C表示为: 我想知道的是,是否可以