【SQL】joinやwhere後のテーブルの最頻値が欲しい時に読む記事

joinしたりwhereしたあとの最頻値が欲しかった

INNER JOINしたあとのテーブルの最頻値(一番多く出る値)が必要になったので使い方わからないhavingについて調べました。
最初MAX出でるかと思ったけどあれは最大値であって最頻値ではないんですね…。文字列の最頻値が欲しかったので謎の結果が出て修正しました。

joinなりwhereなりで絞った後のが下記のような感じで、最頻値の文字列Aという文字だけが欲しかった。
(イメージです、テーブルの内容は省略しています)

|table1.etc_id|table2.etc_id|table3.etc_id|table3.get_max_column|
-----------------------------------------------------------------
|            1|            1|            1|              文字列A|
|            2|            2|            2|              文字列A|
|            3|            3|            3|              文字列B|

下記のSQLの実行結果はこんな感じ(イメージです)

|table3.get_max_column|
----------------------
|              文字列A|

同じSQLを二回書くのは同じテーブルを流用できないから、同じテーブル用意してそこにたいして検索かけるからなのかなと思っています。
でも、省略して書いてた人がいた気がするので別の方法あるのかな。
なにかいい手段あったら教えてほしいです

# 最頻値を出したいカラム、今回は table3.get_max_column とした
SELECT table3.get_max_column

#集計したいjoinしたテーブル
FROM table1
	INNER JOIN table2 
		ON table1.etc_id = table2.etc_id
	INNER JOIN table3
		ON table1.etc_id = table3.etc_id
	 WHERE table3.where_column = '適当にwhereしたい値'
#集計したいjoinしたテーブルここまで

# 最頻値を出したいカラムをGROUP BYのあとに書いておく
GROUP BY table3.get_max_column
  HAVING COUNT(*) >= ALL ( SELECT COUNT(*)
			# 上の集計したいテーブルと同じSQL
			FROM table1
				INNER JOIN table2 
					ON table1.etc_id = table2.etc_id
				INNER JOIN table3
					ON table1.etc_id = table3.etc_id
				 WHERE table3.where_column = '適当にwhereしたい値'
			# 上の集計したいテーブルと同じSQLここまで
			# ここにも最頻値を出したいカラムをGROUP BYのあとに書いておく
			 GROUP BY table3.get_max_column);

SQLのコメントってそういえばあまり書く人見かけないですね…、なんかあるのかな。