mysql - SQL 将输出限制为多个结果
问题描述
我有这个查询。
SELECT * FROM Customer WHERE TAGID IN ('UK', 'Germany');
这会输出结果以显示英国和德国的所有客户,但您可以想象,会有大量输出,我只要求它为英国输出 2 个结果,为德国输出 2 个结果?
这可能吗?
解决方案
UNION ALL
想到:
(SELECT c.*
FROM Customer c
WHERE TAGID = 'UK'
LIMIT 2
) UNION ALL
(SELECT c.*
FROM Customer c
WHERE TAGID = 'Germany'
LIMIT 2
);
请注意,这可以利用Customer(TagID)
. 此外,这会返回任意两行。您可以使用 anORDER BY
返回最新的、最旧的、最大的、最小的、最红的、最蓝的等等。
这是一个 db<>fiddle。
推荐阅读
- python - 有没有更好的方法将方法作为参数传递?
- python - Selenium Python 中的 NoSuchElementException
- kotlin - 如何在 CoroutineWorker 中使用带柄的依赖注入?
- powerbi - DAX如何忽略某些切片器?
- excel - 复制和粘贴带有条件的数据
- django - 在位于不同目录的 Django 模板中包含一个 .html 文件
- web-config - Blazer 服务器应用程序 - 添加 web.config 设置
- c# - 当我尝试从子类(继承)为基类设置值时,它不起作用(Unity C#)
- javascript - 反应:将道具从 useState 钩子传递给组件
- java - 如何实现多个属性的绑定以相互监听?