仅从表 id 2 数据中获取数据

我有一张桌子


id   sentUID    recUID   Amount

1       1         2       100

2       2         1       100

3       4         2       100

4       2         1       100

5       8         6       100

6       2         9       100

我想像这样获得 userID 2 记录


id   sentUID    recUID   Amount

1       1         2       100

3       4         2       100

6       2         9       100

只有三个 UserID 1、4、9 发送或接收金额。


斯蒂芬大帝
浏览 94回答 2
2回答

慕的地8271018

我想你想要:select t.*from twhere 2 in (sentUID, recUID)order by id;

HUH函数

试试这个:SELECT * FROM data WHERE id IN (SELECT tab1.mId FROM  (SELECT MIN(id) as mId, CASE WHEN sentUID=2 THEN recUID                               WHEN recUID=2  THEN sentUID                           END AS person   FROM data WHERE recUID=2 OR sentUID=2   GROUP BY person) AS tab1);结果:id   sentUID    recUID   Amount1       1         2       1003       4         2       1006       2         9       100中间表tab1列出了以 2 出现的每个唯一 UID,用于计算最终结果:mId       person1          13          46          9http://sqlfiddle.com/#!9/16f6a5/13/0
打开App,查看更多内容
随时随地看视频慕课网APP