Sql server 获取SQL中最近的较高和较低行
我试图选择2000年以上的前5个金额和2000年以下的前5个金额,并在单个结果集中返回数据Sql server 获取SQL中最近的较高和较低行,sql-server,union,Sql Server,Union,我试图选择2000年以上的前5个金额和2000年以下的前5个金额,并在单个结果集中返回数据 SELECT TOP 5 * FROM bid WHERE amount >= 2000 ORDER BY amount ASC UNION SELECT TOP 5 * FROM bid WHERE amount < 2000 ORDER BY amount DESC 编写所需查询的正确方法是什么 SELECT * FROM (SELECT TOP 5
SELECT TOP 5 *
FROM bid
WHERE amount >= 2000
ORDER BY amount ASC
UNION
SELECT TOP 5 *
FROM bid
WHERE amount < 2000
ORDER BY amount DESC
编写所需查询的正确方法是什么
SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount >= 2000
ORDER BY amount ASC) t1
UNION
SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount < 2000
ORDER BY amount DESC) t2
您可以向结果中添加其他顺序:
SELECT *
FROM (SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount >= 2000
ORDER BY amount ASC) t1
UNION
SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount < 2000
ORDER BY amount DESC) t2) t3
ORDER BY t3.amount
请用你正在使用的数据库管理系统来标记你的问题,因为它们在细节上是不同的;请看这里:
SELECT *
FROM (SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount >= 2000
ORDER BY amount ASC) t1
UNION
SELECT *
FROM (SELECT TOP 5 *
FROM bid
WHERE amount < 2000
ORDER BY amount DESC) t2) t3
ORDER BY t3.amount