2016-11-05 16 views
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); 

私が見下ろす午前何任意のアイデアが含まれている必要がありますか?

おかげ スティーブ

+1

から()を削除()トリックをした – Mihai

+0

BYあなたのGROUPから!ありがとう@ミハイ! – merkman

+0

@Mihai、答えとして投稿してみませんか? –

答えて

関連する問題