我有一个包含69个表的数据库,我只想选择每个表的前三个记录。
我可以在 每个表 上执行以下操作:
SELECT TOP 3 *
FROM table_schema.table_name
但是,如果我要手动执行此操作,则将花费大量时间。
您能建议一个解决方法吗?
我尝试了此解决方案,但可以使其正常工作(我不知道如何针对MSSQL对其进行修改)
编辑 感谢您的答复。我可能还不够清楚:我的意思是我想解析每个单独的表,并且只获得前3个记录,而不是转到下一个表。以下是我需要的Yaroslav的代码
DECLARE @sql VARCHAR(MAX)='';
SELECT @sql=@sql+'SELECT TOP 3 * FROM '+'['+SCHEMA_NAME(schema_id)+'].['+name+']'+';'
FROM sys.tables
EXEC(@sql)
在这里,您有:
DECLARE @sql VARCHAR(MAX)='';
SELECT @sql=@sql+'SELECT TOP 3 * FROM '+'['+SCHEMA_NAME(schema_id)+'].['+name+']'+';'
FROM sys.tables
EXEC(@sql)
问题内容: 我有一个带有记录的表,并且有一个名为的行。我插入了太多文章,并且我只希望从每个类别中选择两篇文章。 我试图做这样的事情: 我创建了一个视图: 然后我创建了这个查询: 但这不起作用,只给我两个记录吗? 问题答案: LIMIT仅停止语句返回的结果数。您正在寻找的通常称为分析/窗口/排序功能-MySQL不支持,但您可以使用变量进行仿真: 如果不进行更改,则结果集将包含和值-如果不是这种情况,
问题内容: 我想针对每个标签针对不同的产品类别挑选出最畅销的3种产品。数据如下所示: 我知道如何使用ROW_NUMBER()提取每个标签中销售量最高的3种产品,但是它将返回product1,product2,product3。我不想要product3,因为它与product2属于同一类别。我要代替product4。如何在SQL Server中执行此操作? 问题答案: 第一个ROW_NUMBER删除
我使用以下列表从控制器填充了JSP中的下拉列表:“” 例如,我使用下拉菜单将5保存为db中thirdPartyOccupationId的值。当我重新加载页面时,值5不是选中的值。 同一段代码正在处理不同的字段,我不知道我错过了什么。 模型类: ReportClass.java 控制器.java 感谢任何指点。
问题内容: 如何编写SQL语句从三个表中选择数据? 问题答案: 使用联接 这将要求每个表都有一个table_1_id键,并且每个表中都有一个条目。 如果table_2或table_3可能没有数据,但您仍想显示来自table_1的数据,则可以使用LEFT JOIN
问题内容: 我有以下查询: 它按预期工作并返回正确的计数。但是现在当我执行以下查询时,我得到了不正确的计数: 为什么第一个查询得到正确的计数而第二个查询却没有? 问题答案: 由于消除了重复的值,因此如果两个计数恰好相同,则将消除一个,并且只对一个求和。尝试改用。
问题内容: 我需要编写一个选择查询,以从Spring数据存储库层的多个表中获取数据。我知道我们可以使用@Query编写自定义查询,但这仅从单个表中返回值吗? 问题答案: 您的Interface方法可以使用本机SQL从多个表中选择列,并且该方法将返回对象数组的列表: 列表中的每个项目都是对象数组,它是一行数据 您还可以创建自定义存储库实现: 如何向Spring Data JPA添加自定义方法