こんにちは、私は名前によってそれらにASCをソートしたいが、私はすべてのレコードNR 43mysqlクエリの上に行を置く方法。
の上に一つのレコードを必要とする私のSQLテーブル内の100件のレコードを持っているが、私は43最初にこのレコードを引っ張り、その後、他のすべてできる方法はあります名前によるASCの注文?
トリックは1つのクエリで行います。
こんにちは、私は名前によってそれらにASCをソートしたいが、私はすべてのレコードNR 43mysqlクエリの上に行を置く方法。
の上に一つのレコードを必要とする私のSQLテーブル内の100件のレコードを持っているが、私は43最初にこのレコードを引っ張り、その後、他のすべてできる方法はあります名前によるASCの注文?
トリックは1つのクエリで行います。
使用この:
ORDER BY CASE WHEN (record is 43) THEN 0 ELSE 1 END, Name
なしのUNIONまたは場合:
ORDER BY id = 43 DESC, name ASC
super、これはまさに私が探していたものでした。 – Tim
@sqwk簡単な解決策を導き出すためのUpvote –
このクエリはすべての上にID 43と0と記録に値1を有する優先と呼ばれる列を追加する必要がありますその他。次に、優先順位を最初に並べ替えます。
SELECT mytable.*, IF(id = 43, 1, 0) AS priority FROM mytable ORDER BY priority DESC, name ASC
このhttp://stackoverflow.com/questions/16568/how-to-select-the-nth-row-in-a-sql-database-table –