私は1+で注文する方法、最後に0の値を付ける方法を考えていました。mysqlを1+で注文し、最後に0を追加します
SQL構造:
id || show_title || season || episode || title || plot || runtime || airdate
私はその後show_title
、season
、episode(1+)
によって他人の後episode
のための0値を持つすべてのエピソードを注文したいです。
私は1+で注文する方法、最後に0の値を付ける方法を考えていました。mysqlを1+で注文し、最後に0を追加します
SQL構造:
id || show_title || season || episode || title || plot || runtime || airdate
私はその後show_title
、season
、episode(1+)
によって他人の後episode
のための0値を持つすべてのエピソードを注文したいです。
かなり単に
SELECT
......
ORDER BY show_title ASC, seasons ASC, (episode>0) DESC, episode ASC
編集は、その後、あなたが言ったとおりにやるのMarc Bさん
魅力のように動作します! – rackemup420
SELECT ...
...
ORDER BY show_title, season, (episode = 0) DESC, episode
簡潔に言えば、episode = 0
はtrue/falseのブール値に評価されます。 DESC
の注文は、真の結果(エピソードは本当に= 0)が最初に出てから、その後のすべての他のエピソード値によって昇順(デフォルト)の順序で注文します。
これに殴られました - これは少し洗練されています+いい説明がありますが –
@MarcB、私はエピソードの= 0が他のものの後に来るように '(episode> 0)'であるべきだと思います。 –
私は@MGAに気付かなかった - 私の返信は結局正しいものだと思う! :) –
を確認した後にこれをクリーンアップ..?
SELECT ...
FROM ...
ORDER BY show_title, season, episode DESC
注MySQLではデフォルトの順序は昇順ですので、私は明示的にそれを降順にするために、クエリに「DESC
」(終了)を置きます。
は(1+
または0
を含むテキストフィールドepisode
ですか、それは数値です?)
以下試してみてください。彼らはうまくいくように、すべてがLOOKのように多くの答えを
SELECT ...
FROM tablename
ORDER BY show_title,season,if(episode=0,1,0)
を、そして何の「受け入れ答えは」示されていない、それらが正しいかではありません。もしそうでなければ、いくつかのサンプルデータをダンプし、結果をどのように予測することができますか? – DRapp
申し訳ありませんが、私はそれを投稿してから1分間働くことになりました。今すぐ承認されました! : – rackemup420