0

termid、termversion が 2 つの主キーであるテーブルがあります。テーブルに存在する列 - termid、termversion、name

名前が似ているすべての用語を選択したいのですが'%AB%'、結果には一致する各用語が最大バージョン番号で含まれている必要があります。

例:

id    name   ver
1     ABBBB  1
1  ABBBB  2
1  ABBBB 3
2  ABC   1
2  ABC   2

出力が来るはずです

1 ABBBB 3
2 ABC   2

基準を使用して休止状態でこのクエリを作成したい...誰かが休止状態で私を提案できる場合は、少なくともSQLクエリを作成するのに役立ちます。PS私はpostgresqlを使用しています

4

3 に答える 3

0

mytableからid、name、max(ver)を選択します。ここで、'%AB%'のような名前はid、nameでグループ化されます

于 2012-05-22T08:55:27.097 に答える
0

それがあなたが探しているものだと思います:

SELECT id, name, MAX(ver)
  FROM table
 WHERE name ILIKE '%AB%'
 GROUP BY name, id        -- I assume: id == id' <==> name == name'

それは...ですか?

于 2012-05-22T08:51:15.880 に答える
0

このSQLコマンドを試してみてください。

table_name から id,name,max(ver) を選択し、ID でグループ化し、'%AB%' のような名前を持つ名前を選択します

于 2012-05-22T09:00:06.087 に答える