私は今、4つの個のクエリを実行して、必要な情報を選択しています。Mysqlクエリ複数の行のデータを選択
f.e.
SELECT value FROM data where sensor=123 AND value_id=a
SELECT value FROM data where sensor=123 AND value_id=b
SELECT value FROM data where sensor=123 AND value_id=c
SELECT value FROM data where sensor=123 AND value_id=d
私はいくつかのコードでプレキュアしています。私は、正しい方法であれば知っているが、そのようなことも可能であるしないでください。
SELECT value180,value181,value182,value183
FROM (
SELECT
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value180,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value181,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value182,
MAX(CASE WHEN DATE(time) = subdate(CURDATE(), 1) THEN value ELSE 0 END) as value183
FROM data
WHERE sensor_id = 1605850
AND value_id IN ("1.8.0","1.8.1","1.8.2","1.8.3")
) a
事前に支援するための単一のクエリ... THXを持っていいだろう!
注:値ごとにセンサごとに毎日の最大値を使用する必要があります。上記の第1の例では、このmax関数は単純化のために省略した。あなたは、各VALUE_IDため時給取る値がある見ることができるように
:
これは、それがどのように見えるかのテーブルです。
必要なもの: 定義されたvalue_idのには、昨日の最高値が必要です。
f.e. 1.8.0 = 3726.12、1.8.1 = 663.69、...私は間違った値しかし形式私は値を取得する方法をを取得しています私の複合クエリーで
は正しいです:
これらの2つは非常に異なることを達成しています...あなたが得たいものとテーブルを入手していることを説明すれば、おそらく – Alfabravo
からクエリが正常に動作するはずです。 – XING
いいえ、私はエラーが表示されませんが、私はそれぞれの値に対して1つの同じ値を取得しています。 (値180、値181、値182、値183 =すべて同じ値)。私はin value180などの値が必要です... – user3882511