Mysql 获取最大数据量的SQL查询
表格信息:Mysql 获取最大数据量的SQL查询,mysql,Mysql,表格信息: Date, Hour, Object, Data1, Data2,............, Data20,........,Data50. i、 e每个对象每天都有24小时的数据 现在,我需要找出某一天所有对象的一行结果,其中data20是24行中的最大值。先谢谢你 比如: 这将给出对象xx1的最大结果。但我需要所有对象的类似结果,即删除条件object='xx1'。我该怎么做呢?您可以使用左连接,只保留不存在另一行的行,该行具有相同的objectid、相同的日期和更大的data
Date, Hour, Object, Data1, Data2,............, Data20,........,Data50.
i、 e每个对象每天都有24小时的数据
现在,我需要找出某一天所有对象的一行结果,其中data20是24行中的最大值。先谢谢你
比如:
这将给出对象xx1的最大结果。但我需要所有对象的类似结果,即删除条件object='xx1'。我该怎么做呢?您可以使用左连接,只保留不存在另一行的行,该行具有相同的objectid、相同的日期和更大的data20值
SELECT t1.*
FROM table1 t1
LEFT JOIN table1 t2
ON t1.object=t2.object
AND t1.date = '2013-12-08'
AND t2.date = '2013-12-08'
AND t1.data20 < t2.data20
WHERE t2.date IS NULL;
http://sqlfiddle.com/!2/c5218/7>一个SQLFIDLE来测试两者
如果她给了你你需要的表演,请将解释输出添加到您的问题中,以便可以看到实际的索引使用情况。@Joachim:选择t1.*从3g_t2_24小时_数据t1左键加入t1上的3g_t2_24小时_数据t2。BSC6900UCell=t2.BSC690UCell和t1。开始时间=t2。开始时间和t1.VS.HSDPA.meanchthroughtBytes
SELECT t1.*
FROM table1 t1
LEFT JOIN table1 t2
ON t1.object=t2.object
AND t1.date = '2013-12-08'
AND t2.date = '2013-12-08'
AND t1.data20 < t2.data20
WHERE t2.date IS NULL;
SELECT *
FROM Table1
WHERE date = '2013-12-08'
AND DATA20=(SELECT MAX(Data20)
FROM Table1 t1
WHERE date = '2013-12-08'
AND t1.object=table1.object)