【发布时间】:2020-03-05 12:54:17
【问题描述】:
是否可以始终返回 3 行?即使没有数据存在?
所以我有两个表,我总是需要返回 3 行,这样我就不必担心创建逻辑,如果我可以仅在查询上执行此操作,那么我可以节省时间。
用户表
|user_id| name | status|
1 bob 1
2 alice 1
3 maria 0
转接表
id| user_id|transfer_name|
1 1 test1
2 1 test1
3 1 test1
4 1 test1
5 1 test1
6 1 test1
7 2 test1
8 2 test1
9 2 test1
10 2 test1
这是我当前的查询
SELECT superstar.user_id,superstar.name,superstar.ranking FROM (
SELECT transfer.user_id,user.name,COUNT(transfer.transfer_name) AS ranking
FROM transfer AS transfer
LEFT JOIN users AS user ON user.id = transfer.user_id
GROUP BY transfer.user_id
UNION SELECT 'N/A'
) AS superstar
LIMIT 3;
如果只有两行怎么办?我仍然想返回 3 行。我尝试使用 UNION 但我遇到了The used SELECT statements have a different number of columns 的错误
我觉得我做错了。任何帮助将不胜感激。
【问题讨论】: