問題タブ [sql-order-by]

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.

0 投票する
2 に答える
13717 参照

mysql - JOIN、WHERE、およびORDERでインデックスを使用しないMySQL

次のような単純なタグレコード構造に似た 2 つのテーブルがあります (実際にはもっと複雑ですが、これが問題の本質です)。

問題は、特定のタグを持つ順序付けられたレコードをフェッチすることです。それを行う明白な方法は、単純な結合と (PK)(Aa, Ab), (Ab), (PK)(Bb), (Bb,Bc) のインデックスを使用することです。

ただし、これにより、ファイルソートの不快な結果が得られます。

巨大で非常に冗長な「具体化されたビュー」を使用すると、かなりまともなパフォーマンスを得ることができますが、これはビジネス ロジックを複雑にするという代償を伴います。特に、A テーブルと B テーブルが既に MV:s (および他のクエリに必要であり、実際には UNION を使用して同じクエリを実行します)。

状況をさらに複雑にしているのは、B テーブルに範囲フィルターなどの条件があるという事実です。

しかし、ファイルソートの問題が解消されれば、これを処理できると確信しています。

上記のコードブロック 3 の単純な結合が並べ替えにインデックスを使用しない理由と、新しい MV を作成せずに何らかの方法で問題を回避できるかどうかを知っている人はいますか?

以下は、テストに使用している完全な SQL リストです。

0 投票する
2 に答える
12827 参照

linq - LINQ - distinct と orderby を使用してクエリを作成する

私はLINQにまったく慣れていません。

次のテーブルがあるとします。

LINQ で、(デバイス ID で) 最新の個別のインシデント セットを検索するクエリを作成するにはどうすればよいでしょうか? 私が望む結果はこれです:

これを行うには IEqualityComparer を作成する必要がありますか?

0 投票する
3 に答える
189 参照

sql - SQL - 2 つのテーブルの行順序の違いを見つける

ID と日付の 2 つのテーブルがあり、両方のテーブルを日付順に並べ替えて、同じ順序になっていない ID を確認したい

例 table_1

テーブル_2

そして結果を得る

確かに、order by queryの結果をダンプして比較することはできましたが、同じ結果を得るSQLのような方法があるかどうか疑問に思っていました.

明確にするために編集します。日付はテーブル間で必ずしも同じではありません。順序を決定するためだけに存在します

ありがとう

0 投票する
3 に答える
89679 参照

sql - 最初に特定の値を持つ行を返すにはどうすればよいですか?

クエリで、最初に列に特定の値が含まれるテーブルの行を返し、次に残りの行をアルファベット順に返すようにします。

この例のようなテーブルがある場合:

そして、そのテーブルを使用して、最初にニューヨークを含む行を返し、次に残りの行を都市別にアルファベット順に返すようにクエリを実行したいと考えています。クエリを 1 つだけ使用してこれを行うことは可能ですか?

0 投票する
3 に答える
17316 参照

mysql - MySQLのインデックスと順序

これは私が永遠に持っていた質問です。

私の知る限り、インデックスの順序は重要です。だから、のようなインデックス[first_name, last_name] は、と同じではありません[last_name, first_name]よね?

最初のインデックスのみを定義する場合、それは次の目的でのみ使用されることを意味しますか?

ではなく

ORMを使用しているので、これらの列がどの順序で呼び出されるのかわかりません。それは、すべての順列にインデックスを追加する必要があることを意味しますか?これは、2列のインデックスがある場合は実行可能ですが、インデックスが3列または4列の場合はどうなりますか?

0 投票する
2 に答える
160 参照

php - 複数のジョインでの orderby ステートメント

3 つのテーブルがあり、それぞれに自動インクリメント PK が含まれています。これらのテーブルの組み合わせから最新 (つまり、ORDERBY DESC) のエントリを選択する必要があります。2 つの結合を使用して、1 つのクエリで実行したいと思います。私の考えは、どういうわけかテーブルを選択し、それを並べ替えてからid DESC、どういうわけか結果をマージすることでした。誰かがこれを行う方法(またはおそらくより良いアイデア)を持っていますか?

(mysql を使用) 編集: 申し訳ありませんが、より詳細な仕様は次のpostsとおりstoriesですfavs。それぞれに (少なくとも) 3 つの列iduidおよびがありdateます。どちらPKです。id自動インクリメント (テーブルごとに個別)。uidは FK ですが、それは無関係です。最新の 20 または 30 エントリを含む結果セットが必要です。

0 投票する
1 に答える
950 参照

django - Djangoの再帰的ManyToMany関係の「から」モデルのフィールドでの順序付け

次のモデルを想定しています。

次の中間の「から」の関係を想定します。

順序を維持しながら、特定のカテゴリに関連するカテゴリオブジェクトを取得するにはどうすればよいですか?次のコードは、正しい順序ではなく正しいカテゴリオブジェクトを生成し、次を使用している場合でもクエリセットに重複するエントリを含めます.distinct()

0 投票する
3 に答える
134959 参照

.net - DatatableselectメソッドのORDERBY句

こんにちは、selectメソッドを使用してデータテーブルの行を並べ替えようとしています。私は私が言うことができることを知っています

これは事実上where句であり、条件を満たすn行を返します。

私は次のことができるのだろうかと思っていました

datatable.select("ORDER BY col1")---col1はhte列の名前です

試しdatatable.defaultview.sort()ましたがうまくいきませんでした

この問題を回避する方法に関するアイデア。ありがとう

0 投票する
2 に答える
4093 参照

sql - ORDER BY 少数の列の CASE

case-then ブロックを使用して、SQL 2008 クエリを並べ替える方法を選択する必要があり[status] ASC, [date] DESCます[date] DESC

1つの列の使用方法しか知りません:

2番目のCASEで両方の列を使用するには?

0 投票する
4 に答える
20672 参照

sql - サブクエリと並べ替え? (オーダーバイ)

したがって、私の構文は 3 つのケースすべてで明らかに正しいですが (PostgreSQL は何も不満を抱いていません)、結果はこれら 3 つのクエリすべてで同じ順序で返されます。次のいずれかにDESCを追加/削除しても、さらに奇妙なことに、影響はありません。サブクエリの要素に基づいて結果をソートすることは可能ですか?

ORDER BY 条件が結果の順序に影響を与えない理由がわかりません。

********* アップデート:

私が最終的に行ったことは、ビュー (この場合は article_view) で配列列を使用してすべての並べ替えを行うことでした。そうすれば、プライマリクエリの「列」ですべての並べ替えを行い、JOINS を使用する必要が完全に回避されます。ビューが定義される方法では、people/status テーブルの特定の pubid (主キー) に一致するすべての列 (どちらも 1->many を持つ) がビューの配列列に格納されます。並べ替えを使用したクエリは次のようになります。

これが機能する理由は、配列の最初のメンバー (Postgres では、最初のインデックスは通常の 0 ではなく 1 です) が、ソートに必要な主要な作成者 (または主要なステータス) であることを常に知っているためです。