我需要检查 10 行中的 3 列,其中我们按降序匹配用户 ID,找到用户 ID 并显示结果
假设这是我的 table
表名称提要
id buy_id sell_id sold_id
30 2 5 3
29 6 4 9
28 44 21 36
27 26 2 15
26 4 2 9
25 8 7 2
24 11 2 3
23 2 1 9
例如:我们需要找到用户ID 2并将限制设置为10个输出。
我只处理一列,所以我不知道如何匹配一行中的 3 列。
我想要 10 个输出...
if userid = buy_id then echo "buyer";
if userid = sell_id then echo "seller";
if userid = sold_id then echo "third party";
当我们在每行的列中匹配 userid 2 时,输出应该是这样的:
1.buyer
2.seller
3.seller
4.third party
5.seller
6.buyer
因为用户 ID 2 只有 6 个事件,所以只有 6 个输出,但我需要最多 10 个和最小 0 个。
我还没有尝试过任何代码,因为我不知道如何处理这个问题。
谢谢希望我说清楚了:|
最佳答案
试试这个:
SELECT *
FROM (
(SELECT buy_id userid, id, 'buyer' type
FROM feeds)
UNION
(SELECT sell_id userid, id, 'seller' type
FROM feeds)
UNION
(SELECT sold_id userid, id, 'third party' type
FROM feeds)
) feeds_data
WHERE feeds_data.userid = $CHOOSE_USERID
LIMIT 10
当您为 $CHOOSE_USERID
选择 2
时,应返回如下表格:
| userid | id | type |
|--------|----|-------------|
| 2 | 30 | buyer |
| 2 | 27 | seller |
| 2 | 26 | seller |
| 2 | 25 | third party |
| 2 | 24 | seller |
| 2 | 23 | buyer |
您可以通过更改 $CHOOSE_USERID
的值来自定义查询,并且可以使用 id
字段或 type
字段进一步向下钻取使用 feeds_data
表别名。
关于php - 查找一行三列中的用户ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15726990/