最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。これは、ある人物のオフライン メッセージの詳細を照会することです。サーバーからクライアントに返される詳細には、3 つの内容が含まれます。1 つ目は、オフライン期間中にどの人物またはグループがメッセージを送信したかを一覧表示することです。2 つ目は、特定の人物またはグループが送信したオフライン メッセージの数です。3 つ目は、最新のメッセージを表示することです。当然、オフライン メッセージを送信した人またはグループをグループ化し、count() でオフライン メッセージの数を取得し、時間順に並べ替えて最新のメッセージを取得します。 すると、予想通り、group by と order by を一緒に検索するとエラーが発生します。ネストされたサブクエリを使用できます。 すでにソートされた結果をグループ化して、その数を計算できます。ここには隠れた落とし穴がありますが、私は偶然それを避けてしまいました。実際、count() は order by ソートを無効にします。例えば: このステートメントは最終的に、msg_data が実際にはまったくソートされていない、つまりデータベースの元の順序のレコードを取得します。これは最初に挿入されたメッセージ、つまり古いメッセージである必要があります。この問題を回避するには、ネストされたサブクエリを最初にソートし、次に count() を使用してこの問題を回避します。意図せずに回避しましたが、文を修正して何度もテストした後で発見しました。 以下もご興味があるかもしれません:
|
<<: Linux サービスでファイアウォールを有効にする 2 つの方法
>>: Vue の関連ページへのマルチレベルジャンプ (ページドリルダウン) 機能の完全な例
この記事では、適切な形式を使用して IP アドレス データをデータベースに保存し、IP アドレスを簡...
コンテンツ プロパティは CSS 2.1 で導入され、:before および :after 疑似要素...
生活の中で、インターネットはどこにでもあります。インターネットを通じてゲームをしたり、テレビ番組を見...
それは何ですか? em はフォントの高さを指し、どのブラウザでもデフォルトのフォントの高さは 16 ...
序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...
MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...
レイアウトにul>liを使用した単一行レイアウトを以下に示します。 <ul class=...
目次1. はじめに2. 準備3. スクリプトプロジェクトの構築4. コードの作成と実行5. まとめと...
Python 3のインストール1. 依存環境をインストールするPython3 はインストール プロセ...
<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...
イメージをプルし、コンテナを作成してコンテナを実行するだけです。 docker run -d --r...
1. Nexusの設定1. Dockerプロキシを作成する外部ネットワーク ウェアハウスからローカル...
マウス効果では、setTimeout を使用して固定時間にノードを生成し、ノードを削除し、生成された...
1. HTML マークアップ言語とは何ですか? HTML は、Web ページの情報を表すマークアッ...
1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...