【发布时间】:2018-11-30 08:56:01
【问题描述】:
我正在使用以下查询,但在测试时发现MODE 比考虑MAX 给我的结果更好。
SELECT MAX(rssi) AS rssii,beacon,receiver
FROM readings
WHERE created_datetime BETWEEN '2018-11-29 09:46:10' AND '2018-11-29 10:58:50'
GROUP BY beacon,receiver;
我能够获得RSSI 的模式,同时只选择我的意思是没有任何分组依据的特定列,
SELECT rssi,count(*) as occurs
FROM readings
GROUP BY `rssi` order by occurs desc
LIMIT 1;
但我发现很难为每个组做同样的事情,
预期结果格式
+-------+-----------+-----------+
| rssii | beacon | receiver|
+-------+-----------+-----------+
| -42 | AAA | XXX |
| -49 | AAA | YYY |
| -49 | AAA | ZZZ |
| -44 | BBB | XXX |
| -54 | BBB | YYY |
| -52 | BBB | ZZZ |
| -49 | CCC | XXX |
| -42 | CCC | YYY |
| -57 | CCC | ZZZ |
+-------+---------+-------------+
谁能帮帮忙....
【问题讨论】:
-
你的预期输出是什么?
-
您使用的是什么 MySQL 版本?在 MySQL 8.0.2 及更高版本中使用 Window/Analytic 函数可能有更简单的方法
-
@Madhur mysql 5.7。而且你分享的链接更简单,我的意思是我的问题有点不同,cse我必须找到每组信标的模式,接收器