最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。これは、ある人物のオフライン メッセージの詳細を照会することです。サーバーからクライアントに返される詳細には、3 つの内容が含まれます。1 つ目は、オフライン期間中にどの人物またはグループがメッセージを送信したかを一覧表示することです。2 つ目は、特定の人物またはグループが送信したオフライン メッセージの数です。3 つ目は、最新のメッセージを表示することです。当然、オフライン メッセージを送信した人またはグループをグループ化し、count() でオフライン メッセージの数を取得し、時間順に並べ替えて最新のメッセージを取得します。 すると、予想通り、group by と order by を一緒に検索するとエラーが発生します。ネストされたサブクエリを使用できます。 すでにソートされた結果をグループ化して、その数を計算できます。ここには隠れた落とし穴がありますが、私は偶然それを避けてしまいました。実際、count() は order by ソートを無効にします。例えば: このステートメントは最終的に、msg_data が実際にはまったくソートされていない、つまりデータベースの元の順序のレコードを取得します。これは最初に挿入されたメッセージ、つまり古いメッセージである必要があります。この問題を回避するには、ネストされたサブクエリを最初にソートし、次に count() を使用してこの問題を回避します。意図せずに回避しましたが、文を修正して何度もテストした後で発見しました。 以下もご興味があるかもしれません:
|
<<: Linux サービスでファイアウォールを有効にする 2 つの方法
>>: Vue の関連ページへのマルチレベルジャンプ (ページドリルダウン) 機能の完全な例
目次ステップ1: フレームワークを構築するステップ2 構築されたPromiseフレームワークに入力す...
テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...
背景 - オンラインアラートオンライン サーバーがアラームを発し、ディスク使用率 disk.util...
マウスをホバーすると画像が折りたたまれる効果を実現する CSS 1. 実施のポイント折り畳みは複数の...
この記事では、:placeholder-shown 疑似クラスを使用して、純粋な CSS で浮動疑問...
目次要約する <テンプレート> <div> 要素 <h2>{{メ...
私はかなり昔に CSS に触れましたが、フローティングについてはいつも混乱していました。私の理解が浅...
図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...
この記事は主にDockerでパラメータ変数を外部から指定する方法を紹介します。この記事のサンプルコー...
例: mysqldump –all-databases を使用すると、すべてのライブラリがエクスポー...
MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...
tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...
目次1. HTML5のテンプレートタグ2. テンプレートタグ操作のプロパティとメソッド3. Vueの...
これを応用することで、ウェブサイトの一部の公開領域を独立したページにすることができ、その後、この技術...
<br />前回の記事:Webデザイン講座(4):素材と表現について Webデザイン上級...