我的表格如下:
我希望能够根据auditidentity
列选择多个记录。
我尝试使用LIMIT
,但这只限制了返回的行数,但每次审核都可能有不确定的行数。
我尝试使用DESTINCT
,但这只返回了每条记录中的一行。
简而言之,
行数!=审核次数
如何选择其中一些?
编辑:为清楚起见,每个彩色轮廓都被视为"审核"。
答案 0 :(得分:0)
你可以这样做:
SELECT
*
FROM
(
SELECT
ROW_NUMBER() OVER(PARTITION BY auditidentity ORDER BY auditidentity) AS itemNumber,
DENSE_RANK() OVER(ORDER BY auditidentity) AS auditNbr,
tbl.*
FROM @tbl AS tbl
) AS tbl2
WHERE
tbl2.itemNumber<=100
AND tbl2.auditNbr<=2
答案 1 :(得分:0)
感谢大家的帮助,我的一位同事找到了答案:
SELECT * FROM smp_audit_detail WHERE auditidentity IN
(SELECT DISTINCT auditidentity FROM smp_audit_detail LIMIT 100)