プログラムを作成しているので、データベースに対してクエリを実行して、特定の列に最も頻繁に表示される文字列を要求する必要があります。この例では、その「stringONE」です。
----------------------------
| ID | Column (string) |
----------------------------
| 1 | stringONE |
----------------------------
| 2 | stringTWO |
----------------------------
| 3 | stringONE |
----------------------------
| 4 | stringONE |
----------------------------
次に、最も表示される文字列の名前を取得して、可変文字列に入れる必要があります。次に例を示します。
string most_appeared_string = sql.ExecuteScalar();
また、次のように、最も多く表示される文字列がなく、同じ回数表示される2つ以上の文字列がない場合はどうなりますか。
----------------------------
| ID | Column (string) |
----------------------------
| 1 | stringONE |
----------------------------
| 2 | stringTWO |
----------------------------
| 3 | stringTWO |
----------------------------
| 4 | stringONE |
----------------------------
よろしくお願いします。
@KeithS
クエリを実行するとエラーが発生するため、SQLServerバージョンのクエリはありますか。これが私が正確にやりたいことの表の例です。
------------------------------------------------
| ID | column1 (string) | author (string) |
------------------------------------------------
| 1 | string-ONE | John |
------------------------------------------------
| 2 | string-TWO | John |
------------------------------------------------
| 3 | string-ONE | Martin |
------------------------------------------------
| 4 | string-ONE | John |
------------------------------------------------
SELECT TOP (1) column1, COUNT(*) FROM table WHERE author='John' ORDER BY ID
著者Johnにとって最も(2)回表示されるため、「string-ONE」を返す必要があります。ただし、MS-SQL Management Studioでクエリを試行すると、次のエラーが発生します。
Column 'table.column1' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
編集を気にしないでください。ありがとうございました。