0
我正在使用MySQL Ver 14.14 Distrib 5.5.52,用於debian-linux-gnu(armv7l)使用readline 6.3在raspbian OS上運行on a RaspberyPI 3.MySQL錯誤1241(21000):操作數應該包含1列在Aggregate查詢
我運行以下查詢並獲得以下結果。
mysql> SELECT
-> sensorMeasurements.sensorMeasurementDate,
-> MIN(sensorMeasurements.sensormeasurementvalue) as "minValue",
-> MAX(sensorMeasurements.sensormeasurementvalue) as "maxValue",
-> AVG(sensorMeasurements.sensormeasurementvalue) as "avgValue"
-> FROM sensorMeasurements
-> INNER JOIN userSystemSensors
-> ON sensorMeasurements.usersystemsensorid =
-> userSystemSensors.usersystemsensorid
-> INNER JOIN sensors
-> ON userSystemSensors.sensorid = sensors.sensorid
-> INNER JOIN userSystems
-> ON userSystemSensors.usersystemid = userSystems.usersystemid
-> INNER JOIN users
-> ON userSystems.userid = users.userid
-> WHERE sensors.sensorid = 1
-> AND sensorMeasurements.sensormeasurementdatetime BETWEEN
-> "2016-11-05 10:00:00" AND "2016-11-15 11:00:00"
-> GROUP BY (sensorMeasurements.sensorMeasurementDate);
+-----------------------+----------+----------+-------------------+
| sensorMeasurementDate | minValue | maxValue | avgValue |
+-----------------------+----------+----------+-------------------+
| 2016-11-05 | 66.9 | 73 | 69.56107784431138 |
| 2016-11-06 | 51.5 | 73.4 | 64.03751600512162 |
| 2016-11-07 | 40.3 | 68.7 | 58.34236111111102 |
| 2016-11-08 | 39.2 | 59.4 | 48.1092361111111 |
| 2016-11-09 | 13.2 | 54.8 | 36.78529850746269 |
+-----------------------+----------+----------+-------------------+
當我修改查詢以下我得到的錯誤 ERROR 1241(21000):操作數應包含1列(S)
SELECT
sensors.sensorName,
sensorMeasurements.sensorMeasurementDate,
MIN(sensorMeasurements.sensormeasurementvalue) as "minValue",
MAX(sensorMeasurements.sensormeasurementvalue) as "maxValue",
AVG(sensorMeasurements.sensormeasurementvalue) as "avgValue"
FROM sensorMeasurements
INNER JOIN userSystemSensors
ON sensorMeasurements.usersystemsensorid =
userSystemSensors.usersystemsensorid
INNER JOIN sensors
ON userSystemSensors.sensorid = sensors.sensorid
INNER JOIN userSystems
ON userSystemSensors.usersystemid = userSystems.usersystemid
INNER JOIN users
ON userSystems.userid = users.userid
WHERE sensors.sensorid = 1
AND sensorMeasurements.sensormeasurementdatetime BETWEEN
"2016-11-05 10:00:00" AND "2016-11-15 11:00:00"
GROUP BY (sensors.sensorName, sensorMeasurements.sensorMeasurementDate);
任何想法,我俯瞰什麼?
感謝 史蒂夫
取出
()
刪除()從GROUP BY – Mihai這奏效了!謝謝@Mihai !!! – merkman
@Mhaihai,爲什麼不把它作爲答案? –