他の列をグループ化して最大列値を取得しようとしています。私はほとんど近くにいますが、最後の点で立ち往生しています。ここで私はコードである対応する他の列の最大値を表示する方法
TABLE:
id . sys_id . renewal
1 . aaad00101 . 0
2 . aaad00101 . 1
3 . aaad00104 . 0
4 . aaad00102 . 0
5 . aaad00101 . 2
6 . aaad00103 . 0
SQLクエリ:
"SELECT * FROM $company WHERE renewal IN (SELECT DISTINCT
MAX(renewal)FROM $company GROUP BY sys_id) ORDER BY sys_id"
結果:
aaad00101-0
aaad00101-2
aaad00102-0
aaad00103-0
aaad00404-0
私のコードは、上の2つの結果のような最小値と最大値を示しています。しかし、最大値が表示されている場合は、結果に最小値を表示すべきではありません。
ここで私が迷っていることを教えてください。 おかげでそれを修正
:
SQLクエリ:私はあなたが最大を示し、追加の列を使用して、テーブルにあなたが現在持っているすべての行を維持したいという
"SELECT * FROM $company WHERE id IN (SELECT DISTINCT MAX(id)FROM
$company GROUP BY sys_id) ORDER BY sys_id";
あなたは少し欲しいものを詳しく説明できますか?私はあなたの質問でちょっと混乱していますが、もしあなたがおそらくそれをよりよく言えるならば、それは簡単な修正のようです。おそらく、手動で入力するかsqlfiddleリンクを作成して、結果セットを表示しますか? – user2278120
sys_idで最大限更新する必要がありますか?はいの場合は、次のようにします。 SELECT MAX(更新)、sys_id FROM $ company GROUP BY sys_id; –
@ user2278120同じsys_idを持つ単一レコードを表示したい。しかし、私は最初のものではなく、更新コラムを使って最新のエントリーが必要です。だから私は最大(更新)を選択している。私が何を記述しようとしているのか理解してもらいたいと思います。 –