1

同じ sqlite テーブル内の 2 つの行の間で一致する値を見つけたいです。たとえば、次のテーブルがあるとします。

rowid, col1, col2, col3
-----  ----  ----  ----
1      5     3     1    
2      3     6     9    
3      9     12    5

行 1 と行 2 を比較すると、値 3 が得られます。

  • 行 2 と 3 は 9 になります。
  • 行 3 と 1 は 5 になります。

テーブル内の任意の 2 つの行の間には、一致する値が常に 1 つだけ存在します。

これに対する正しいsqliteクエリは何ですか?

4

2 に答える 2

0
select col from
(    
    select rid, c1 as col from yourtable
    union
    select rid, c2 from yourtable
    union
    select rid, c3 from yourtable
) v
where rid in (3,2)
group by col
order by COUNT(*) desc
limit 1
于 2012-10-12T09:09:36.037 に答える