0

これを読むかどうか:皆さん、この問題のより良い解決策を見つけるために私が探していたのは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

どうやって助けることができる:

上記のデータベース テーブルのサンプル コードを提供するか、このテーブルからデータにアクセスする方法について適切な提案を教えてください。

  1. 時間順に並べられる
  2. 送信者と受信者は繰り返されません。

残りは、ブロック内で再クエリを実行します。

とにかく時間をありがとう。乾杯!

4

2 に答える 2