0
raspbian OSで実行されているreadline 6.3を使用してdebian-linux-gnu(armv7l)にMySQLバージョン14.14 Distrib 5.5.52を使用しています。 RaspberyPI 3MySQLのエラー1241(21000):集計クエリでオペランドに1列が含まれている必要があります
次のクエリを実行して、次の結果を得ます。
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列(複数可)
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);
私が見下ろす午前何任意のアイデアが含まれている必要がありますか?
おかげ スティーブ
から
()
を削除()トリックをした – MihaiBYあなたのGROUPから!ありがとう@ミハイ! – merkman
@Mihai、答えとして投稿してみませんか? –