タグ付けされた質問 「sql-order-by」

SQLのORDER BY句は、SQL SELECTステートメントが結果セットを返し、行が1つ以上の列の値でソートされていることを指定します。

13
SQL IN()句の値の順序による順序付け
IN()句の値の順序で並べ替えるのに(おそらくより良い方法が)あるかどうか疑問に思っています。 問題は、2つのクエリがあることです。1つはすべてのIDを取得し、2つ目はすべての情報を取得します。1つ目は、2つ目で並べ替えたいIDの順序を作成します。IDはIN()句に正しい順序で配置されます。 だからそれは(非常に単純化された)のようなものになるでしょう: SELECT id FROM table1 WHERE ... ORDER BY display_order, name SELECT name, description, ... WHERE id IN ([id's from first]) 問題は、2番目のクエリがIDがIN()句に入力されたのと同じ順序で結果を返さないことです。 私が見つけた1つの解決策は、自動インクリメントフィールドを持つ一時テーブルにすべてのIDを入れ、それを2番目のクエリに結合することです。 より良いオプションはありますか? 注:最初のクエリは「ユーザーによって」実行され、2番目のクエリはバックグラウンドプロセスで実行されるため、サブクエリを使用して2を1に結合する方法はありません。 私はMySQLを使用していますが、他のDBにもどのようなオプションがあるかをメモしておくと便利だと思います。
154 mysql  sql  sql-order-by 

8
SQL selectステートメントのOrder By 1の目的は何ですか?
職場で古いコードを読んでいて、order by 1句のあるビューがいくつかあることに気づきました。これは何を達成しますか? 例: Create view v_payment_summary AS SELECT A.PAYMENT_DATE, (SELECT SUM(paymentamount) FROM payment B WHERE PAYMENT_DATE = B.PAYMENT_DATE and SOME CONDITION) AS SUM_X, (SELECT SUM(paymentamount) FROM payment B WHERE PAYMENT_DATE = B.PAYMENT_DATE and SOME OTHER CONDITION) AS SUM_Y FROM payment A ORDER BY 1;
154 sql  sql-order-by 

6
C#list.Orderby降順
「Product.Name」で降順に並べ替えられたリストを受け取りたい。 リストを昇順で逆に並べ替える以下の関数と同様に、これは可能ですか? var newList = list.OrderBy(x => x.Product.Name).ToList();
150 c#  list  sorting  sql-order-by 

3
SQL Order Byステートメントを使用して、大文字と小文字を区別しない結果を並べ替える方法
アルファベット順でソートしようとしているSQLiteデータベースがあります。問題は、SQLiteがソート中にA = aを考慮していないように見えるため、次のような結果が得られることです。 A B C T a b c g 私は手に入れたい: A a b B C c g T 私が知らない特別なSQLの処理を行う必要があるのですか? SELECT * FROM NOTES ORDER BY title

11
数値としてのSQLオーダー文字列
VARCHARMySQLデータベースに関して保存されている番号があります。INT他の事情により製作出来ません。 並べ替えの際、数字ではなく文字として扱います。 データベースには 1 2 3 4 5 6 7 8 9 10... 私のページでは、次のような順序付きリストが表示されます: 1 10 2 3 4 5 6 7 8 9 昇順の番号で表示するにはどうすればよいですか?

4
GROUP_CONCAT ORDER BY
私は次のようなテーブルを持っています: +-----------+-------+------------+ | client_id | views | percentage | +-----------+-------+------------+ | 1 | 6 | 20 | | 1 | 4 | 55 | | 1 | 9 | 56 | | 1 | 2 | 67 | | 1 | 7 | 80 | | 1 | 5 | …

4
Oracle ORDER BYおよびROWNUMを正しく使用する方法
ストアドプロシージャをSQL ServerからOracleに変換して、互換性のある製品にするのに苦労しています。 タイムスタンプに基づいて、いくつかのテーブルの最新のレコードを返すクエリがあります。 SQLサーバー: SELECT TOP 1 * FROM RACEWAY_INPUT_LABO ORDER BY t_stamp DESC =>最新のレコードが返されます しかしOracle: SELECT * FROM raceway_input_labo WHERE rownum <= 1 ORDER BY t_stamp DESC =>これにより、ORDER BYステートメントに関係なく、最も古いレコードが返されます(おそらくインデックスによって異なります)。 私の要件に一致させるために、この方法でOracleクエリをカプセル化しました。 SELECT * FROM (SELECT * FROM raceway_input_labo ORDER BY t_stamp DESC) WHERE rownum <= 1 そしてそれは動作します。しかし、関係するテーブルに多くのレコードがある場合は特に、私にとっては恐ろしいハックのように思えます。 これを達成するための最良の方法は何ですか?

3
最初に特定の値を持つ行を返すにはどうすればよいですか?
クエリで、最初に列に特定の値が含まれるテーブルの行を返し、次に残りの行をアルファベット順に返します。 この例のようなテーブルがある場合: - Table: Users - id - name - city - 1 George Seattle - 2 Sam Miami - 3 John New York - 4 Amy New York - 5 Eric Chicago - 6 Nick New York そして、そのテーブルを使用して、クエリに最初にNew Yorkを含む行を返し、次に残りの行を都市でアルファベット順に返します。これは1つのクエリのみを使用して実行できますか?
124 sql  sql-order-by 

10
mysqlでのunionおよびorder by句の使用
mysqlクエリで、union with order byを使用したいと思います。私のサイトでの検索の距離に基づいたテーブルから、さまざまな基準に基づいてさまざまなタイプのレコードをフェッチしています。最初の選択クエリは、正確な場所検索に関連するデータを返します。2番目の選択クエリは、検索した場所から5 kms以内の距離に関連するデータを返します。3番目の選択クエリは、検索した場所から5〜15 km以内の距離に関連するデータを返します。 次に、ユニオンを使用してすべての結果をマージし、ページングのあるページに表示します。「正確な検索結果」、「5 km以内の結果」などの適切な見出しの下 次に、idまたはadd_dateに基づいて結果を並べ替えます。しかし、クエリの最後にorder by句を追加すると(query1 union query 2 union query 3 order by add_date)、すべての結果を並べ替えます。しかし、私が望んでいるのは、それが各見出しの下でソートされることです。
123 mysql  sql  sql-order-by  union 

12
同じSELECTステートメントでDISTINCTとORDER BYを使用する方法は?
次のステートメントを実行した後: SELECT Category FROM MonitoringJob ORDER BY CreationDate DESC データベースから次の値を取得しています。 test3 test3 bildung test4 test3 test2 test1 しかし、私は次のように重複を削除してください: bildung test4 test3 test2 test1 DISTINCTを使用しようとしましたが、1つのステートメントでORDER BYを使用すると機能しません。助けてください。 重要: 私はそれを試しました: SELECT DISTINCT Category FROM MonitoringJob ORDER BY CreationDate DESC 動作しません。 CreationDateによる注文は非常に重要です。

5
Doctrineで複数の列で並べ替え
2つの列でデータを並べ替える必要があります(行の列番号1の値が異なる場合はそれで並べ替え、それ以外の場合は列番号2で並べ替え) を使用しQueryBuilderてクエリを作成しています。 このorderByメソッドをもう一度呼び出すと、以前に指定した順序が置き換えられます。 最初のパラメーターとして2つの列を渡すことができます。 ->orderBy('r.firstColumn, r.secondColumn', 'DESC'); しかし、2番目のパラメーターに2つの順序付け方向を渡すことはできないため、このクエリを実行すると、最初の列は昇順で、2番目の列は降順で並べられます。どちらも降順で使いたいです。 これを使用してこれを行う方法はありQueryBuilderますか?DQLを使用する必要がありますか?

6
MySQL-IN()内のORDER BY値
IN()関数に入力された順序で、次のクエリで返されたアイテムを並べ替えたいと思っています。 入力: SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C'); 出力: | id | name | ^--------^---------^ | 5 | B | | 6 | B | | 1 | D | | 15 | E | | 17 | E | | 9 | …

7
C#の並べ替えとOrderByの比較
SortまたはOrderByを使用してリストを並べ替えることができます。どちらが速いですか?両方が同じアルゴリズムで作業していますか? List<Person> persons = new List<Person>(); persons.Add(new Person("P005", "Janson")); persons.Add(new Person("P002", "Aravind")); persons.Add(new Person("P007", "Kazhal")); 1。 persons.Sort((p1,p2)=>string.Compare(p1.Name,p2.Name,true)); 2。 var query = persons.OrderBy(n => n.Name, new NameComparer()); class NameComparer : IComparer<string> { public int Compare(string x,string y) { return string.Compare(x, y, true); } }

6
MySQLの「Group By」と「Order By」
電子メールのテーブルから一連の行を選択し、送信者ごとにグループ化できるようにしたい。私のクエリは次のようになります: SELECT `timestamp`, `fromEmail`, `subject` FROM `incomingEmails` GROUP BY LOWER(`fromEmail`) ORDER BY `timestamp` DESC クエリはほぼ期待どおりに機能します。電子メールでグループ化されたレコードが選択されます。問題は、件名とタイムスタンプが特定の電子メールアドレスの最新のレコードに対応していないことです。 たとえば、次のように返されます。 fromEmail: john@example.com, subject: hello fromEmail: mark@example.com, subject: welcome データベースのレコードが次の場合: fromEmail: john@example.com, subject: hello fromEmail: john@example.com, subject: programming question fromEmail: mark@example.com, subject: welcome 「プログラミングの質問」の件名が最新の場合、電子メールをグループ化するときにMySQLにそのレコードを選択させるにはどうすればよいですか?

3
複数のアイテムによるmysqlクエリの順序
複数行で注文できますか? ユーザーをlast_activityでソートしたいのですが、同時に、写真のあるユーザーを、写真のないユーザーの前に表示したい このようなもの: SELECT some_cols FROM `prefix_users` WHERE (some conditions) ORDER BY last_activity, pic_set DESC;

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.