これを読むかどうか:皆さん、この問題のより良い解決策を見つけるために私が探していたのは2日でした. でも毎回失敗します。
問題:
SQL に問題があります。実際にやりたいことは、double 値を取得せずにテーブルから列を選択することですSELECT DISTINCT
。しかし同時に、私ORDER BY Time DESC
もそれらを使用して注文したい. 使用するGROUP BY
とエラーが発生します。他のすべての列が次のような関数にある場合に GROUP BY を使用すると機能する可能性がありますがCOUNT(column_name) AS Column_Name
、列を合計したりカウントしたりしたくないからです。それらの値を取得したい。
これが私のデータベース列の画像です。彼らにとってはほんの始まりに過ぎません。彼らが何でありますか?それらはメッセージテーブルです。ユーザーのメッセージが保存され、照会される場所。
私が取得したいもの:
これは次のようになります。
各メッセージは、GROUP BY
または単に選択する必要がありますDISTINCT
が、いくつかのエラーが発生します。上記のエラーについて説明しました。ただし、これだけを使用すると、列を選択できます。
"SELECT DISTINCT Sender, Recipient FROM Messages WHERE Sender =2 OR Recipient =2";
これを使用すると、いくつかの結果が得られますが、結果を注文できないため、時間も必要です。そして、私が使用すると、同じではないDISNTINCT Time
ため、4行すべてを取得します。Time
どうやって助けることができる:
上記のデータベース テーブルのサンプル コードを提供するか、このテーブルからデータにアクセスする方法について適切な提案を教えてください。
- 時間順に並べられる
- 送信者と受信者は繰り返されません。
残りは、ブロック内で再クエリを実行します。
とにかく時間をありがとう。乾杯!