大きなデータセットに関するSQLとJAVAを使用したアルゴリズムで作業しています。 SQLではすべてのデータを持つテーブルがあり、JAVAにロードする前にできるだけ多くのSQLクエリを使用したいと考えています。複数の列を持つ1つのテーブルの各レコード(整数)のSQLカウントの発生
1から40001までの整数からなるランダムなデータセット(Java)を生成し、それをMySQLテーブルに挿入します。 行は長さが異なることができ、最大30個のアイテム/レコード(これにはIDが含まれます)。だから、通常は列の量は30です(したがってCOL1、COL2、COL3、...... COL30)。この量もある点でランダムになります
私がしたいのは、アイテムをテーブル/データセットに追加し、それらのカウントとともに新しいテーブルに配置します。しかし、これは難しいことです。なぜなら、1つの列だけでなく、テーブル全体で数えたいからです。これはどうすればいいですか?
を(これは私のいつものテーブルと比較して非常に小さいものである)は、例えば、このテーブルを取る:私はこのテーブルから抽出したい何
ID | COL1 | COL2 | COL3 | COL4 | COL5 |
---------------------------------------
1 | 8 | 35 | 42 | 12 | 27 |
2 | 22 | 42 | 35 | 8 | NULL |
3 | 18 | 22 | 8 | NULL | NULL |
4 | 42 | 12 | 27 | 35 | 8 |
5 | 18 | 27 | 12 | 22 | NULL |
はこれです:
指定するには
Item | Count
-------------
8 | 3
35 | 3
40 | 1
12 | 3
27 | 3
22 | 3
42 | 2
43 | 1
18 | 2
項目が同じ行に複数回表示されない場合もあります。
誰でも手伝ってもらえますか?それとも、SQLで単純に行えないのですか? Javaでパフォーマンスを向上させる方が良いでしょうか?
ありがとうございます!
うわー、私はちょうど新しいことを学びました。 – cdaiga
これは素晴らしいです、完璧に動作します。私はそれが私のアルゴリズムにとって重要ではないので、列の量を変更できないようにすることを検討しています。動的なクエリは必要ありません。ありがとうございました! – user2840383