浮動小数点数が変更された場合にのみ MySQL を選択する
P粉158473780
P粉158473780 2023-09-04 00:01:04
0
1
636
<p>次のデータテーブルがあります:</p> <em>テーブル名entity_values</em></p> <テーブルクラス="s-テーブル"> <頭> <tr> 日付時刻 値 </tr> </頭> <みんな> <tr> 2017-09-02 05:05:00 20 </tr> <tr> 2017-09-02 05:10:00 20 </tr> <tr> 2017-09-02 05:15:00 21 </tr> <tr> 2017-09-02 05:20:00 21 </tr> <tr> 2017-09-02 05:25:00 21 </tr> <tr> 2017-09-02 05:30:00 22 </tr> </tbody> </テーブル> <p>現時点では変更を確認したいだけなので、次のクエリを作成しました。</p> <pre class="brush:php;toolbar:false;">SELECT date_time AS 'time', value - LAG(value) over (date_time順) 'Kwh01-Energy (kWh)' FROM エンティティ値;</pre> <p>これにより、次の結果が返されます: </p> <テーブルクラス="s-テーブル"> <頭> <tr> 日付時刻 値 </tr> </頭> <みんな> <tr> 2017-09-02 05:00:00 0 </tr> <tr> 2017-09-02 05:05:00 0 </tr> <tr> 2017-09-02 05:10:00 1 </tr> <tr> 2017-09-02 05:15:00 0 </tr> <tr> 2017-09-02 05:20:00 0 </tr> <tr> 2017-09-02 05:25:00 1 </tr> </tbody> </テーブル> <p>ウィンドウ関数 <em> では、次のような </em> を WHERE 句で使用することはできません。 <pre class="brush:php;toolbar:false;">SELECT date_time AS 'time', value - LAG(value) over (date_time順) 'Kwh01-Energy (kWh)' FROM エンティティ値 WHERE (値 - LAG(値) オーバー (日時順)) > 0; <ブロック引用> <p>エラー コード: 3593。このコンテキストではウィンドウ関数「lag」を使用できません。</p> </blockquote> <p><strong>質問</strong>: 0 の値を除外し、「変更された」値のみを取得するにはどうすればよいですか? 望ましい結果: </p> <テーブルクラス="s-テーブル"> <頭> <tr> 日付時刻 値 </tr> </頭> <みんな> <tr> 2017-09-02 05:10:00 1 </tr> <tr> 2017-09-02 05:25:00 1 </tr> </tbody> </table></p>
P粉158473780
P粉158473780

全員に返信(1)
P粉373990857

ありがとう@アンドリュー

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート