我有一个带有实体的表entities
,它具有唯一索引entity_id
例如,1 我想进行一个sql查询,选择: 所以,我想要一个查询并从实体范围的每个区域获取实体。如果多一个矿石区域为空也没关系 我不知道如何实现它。 请帮忙
最佳答案
您可以编写一个返回表的函数,并在该函数中首先定义一个包含所需列的表,例如:
DECLARE @ReturnTable TABLE (entity_id INT, column2 INT, etc.)
然后,声明另一个与实体相同但具有随机数列的表。
DECLARE @EntitiesCopy TABLE (entity_id INT, rand INT);
填充 @EntitiesCopy 表,如下所示:
INSERT INTO @EntitiesCopy SELECT *, RAND() FROM entities
然后,编写插入语句,例如:
INSERT INTO @ReturnTable(column1, column2)
SELECT TOP 3 * FROM @EntitiesCopy
WHERE (entity_id > 1) AND (entity_id < 200)
ORDER BY rand
其他条件类似。
那么,
RETURN @ReturnTable
关于mysql - 从范围的不同区域选择行的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619525/