ホームページ  >  記事  >  データベース  >  MySQLのUnion句がorder by_MySQLをサポートしていない問題の解決策

MySQLのUnion句がorder by_MySQLをサポートしていない問題の解決策

WBOY
WBOYオリジナル
2016-07-06 13:32:44934ブラウズ

この記事の例では、MySQL の Union 句が order by をサポートしていない問題の解決策について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

DB についてはあまり詳しくありません。この問題は MySQL でのみ発生します。他の DBMS でも同じかどうかはわかりません。

問題は、テーブル内の特定の行に隣接する2つの行を取得し、それらを結合して一緒に取り出したいので、次のように書きます。

リーリー

しかし、「

UNIONとORDER BYの使用法が間違っています」というエラーメッセージが表示されました。このようにunionとorder byは使えないようですが、ここでは確かにorder byが必要です。すぐに、別の書き方を思いつきました:

リーリー

経験上、2 番目の句は Union の影響を受けないはずなので、order by を使用できます。したがって、最初の句を括弧で囲めば問題ありません。しかし、依然としてエラーが発生し、「すべての派生テーブルには独自の別名が必要です」というメッセージが表示されます。ここでのヒントは、括弧内で生成された一時テーブルにエイリアスを与える必要があるということです。これにより、扱いやすくなります。したがって、次のように変更されました:

リーリー

このステートメントは正常に実行され、正しい結果が得られました。ここにメモを書きます。

さらに MySQL 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください:「MySQL ログ操作スキルの包括的なコレクション」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの包括的なコレクション」、 『MySQLデータベースロック関連スキルまとめ』と『MySQLでよく使う機能まとめ』

この記事が皆さんの MySQL データベース計画に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。