問題タブ [distinct-on]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - Postgresql を使用した区別後の Typeorm の順序
以下の表があります。
ID | 製品番号 | 価格 |
---|---|---|
1 | 1 | 100 |
2 | 1 | 150 |
3 | 2 | 120 |
4 | 2 | 190 |
5 | 3 | 100 |
6 | 3 | 80 |
商品の最安値を選んで価格順に並べ替えたい
期待される出力:
ID | 製品番号 | 価格 |
---|---|---|
6 | 3 | 80 |
1 | 1 | 100 |
3 | 2 | 120 |
私がこれまでに試したこと:
このクエリは、最も安い商品を返しますが、並べ替えはしません。ですので、addOrderBy
製品への影響はありません。の後に商品を並べ替える方法はありdistinctOn
ますか?
sql - 個別のセットとサブセットの最大タイムスタンプを取得する方法
編集: DBMS = Haddoop、Teradata SQL Assistant を使用
これが元のテーブルです。20 個の位置値 (c1) があります。各ロケーションには一連の通路 (c2) があります。max(tstamp) に基づいて、個別の場所とそれらの個別の通路のセットについて、このテーブルからすべてのレコードのセットを取得したいと考えています。
位置 | 通路 | スタンプ | 数量 | 時間 |
---|---|---|---|---|
12 | 420 | 2021 年 4 月 16 日 12:22:01 午後 | 999 | 999 |
23 | 220 | 2021 年 4 月 16 日 11:22:01 午後 | 8888 | 222 |
31 | 310 | 2021 年 4 月 16 日 10:22:01 午後 | 666 | 333 |
12 | 420 | 2021 年 4 月 16 日 12:22:01 午前 | 666 | 444 |
31 | 120 | 2021 年 4 月 16 日 15:22:01 | 666 | 555 |
22 | 210 | 2021 年 4 月 16 日 01:22:01 午後 | 666 | 666 |
私はこれを使いました
SELECT*FROM store_control WHERE store_control.tstamp IN (SELECT MAX(tstamp) FROM store_control AS sql2)
結果:
位置 | 通路 | スタンプ | 数量 | 時間 |
---|---|---|---|---|
23 | 220 | 2021 年 4 月 16 日 11:22:01 午後 | 8888 | 222 |
私が欲しいのはこれです:
位置 | 通路 | スタンプ | 数量 | 時間 |
---|---|---|---|---|
12 | 420 | 2021 年 4 月 16 日 12:22:01 午後 | 999 | 999 |
22 | 210 | 2021 年 4 月 16 日 01:22:01 午後 | 666 | 666 |
23 | 220 | 2021 年 4 月 16 日 11:22:01 午後 | 8888 | 222 |
31 | 310 | 2021 年 4 月 16 日 10:22:01 午後 | 666 | 333 |
31 | 120 | 2021 年 4 月 16 日 15:22:01 | 666 | 555 |