[ad_1]
こんにちは皆さん、
processID date 75 26-06-2023 18 27-06-2023 75 27-06-2023 89 27-06-2023 98 27-06-2023 18 28-06-2023 18 29-06-2023 75 29-06-2023 89 29-06-2023 98 29-06-2023
上の表では、グループ内に 4 つの ID がすべて存在するプロセス ID のグループ (ここではグループ – プロセス ID = 18,75,89,98) が利用可能な最大の日付が必要です。 存在する ID が 1 つ少ない場合、最大値は 4 つの ID がすべて存在する最新の日付を意味します。 つまり、6 月 27 日にクエリを実行した場合、最大日付は 6 月 27 日として取得されるはずです (ここでは 4 つのプロセス ID がすべて存在するため)。6 月 28 日にクエリを実行した場合でも、6 月 27 日として日付が取得されるはずです (6 月 28 日では取得できないため) 4 つのプロセス ID がすべて存在しますが、プロセス ID=18 のみが存在します。)これを実現するにはどうすればよいですか?
私は試しました:プロセスID IN (18,75,89,98)のテーブルからmax(date)を選択しますが、ここでは4つのプロセスIDすべてが存在するかどうかを考慮せずにプロセスIDの最大値を与えます。 何をすべきか?
私が試したこと:
select max(date) from table where processID IN (18,75,89,98) ですが、ここでは 4 つのプロセス ID がすべて存在するかどうかを考慮せずに、プロセス ID の最大値を与えます。 何をすべきか?
解決策 1
GROUP BY を使用します。
SELECT ProcessID, MAX(DATE) FROM MyTable GROUP BY ProcessID
SQL GROUP BY ステートメント[^] そしておそらくここも見てみる価値があります: SQL GROUP By および「列 ‘name’ は選択リストでは無効です。理由は…」エラー[^]
[ad_2]
コメント