复制
收藏
提问
简洁
SELECT * FROM mate_store_inv WHERE store_id IN ( SELECT inv_id, COUNT(*) FROM mate_store_inv GROUP BY inv_id HAVING COUNT(*) > 1); 改成合适的正确的sql server 语句
0秒前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
修正后的 SQL 语句如下:
SELECT *
FROM mate_store_inv
WHERE store_id IN (
SELECT inv_id
FROM (
SELECT inv_id, COUNT(*) as cnt
FROM mate_store_inv
GROUP BY inv_id
) subquery
WHERE cnt > 1
);
- 子查询优化:外层查询保持不变,内层子查询进行了调整。
- 子查询细节:引入子查询
subquery
来先计算每个inv_id
的计数,再筛选计数大于 1 的记录。1
你觉得结果怎么样?