复制
收藏
提问
简洁

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 语句

d4b7ec5c6
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
你觉得结果怎么样?
如何将SQL查询语句转换为SQL Server兼容格式?
SQL Server中如何使用IN子句?
SQL Server中如何进行分组和计数查询?
如何优化SQL Server的查询性能?
SQL Server中如何使用HAVING子句过滤分组结果?
在SQL Server中如何使用子查询?

以上内容由AI搜集生成,仅供参考

在线客服