![](/img/trans.png)
[英]SQL Query to Delete only those rows where Sum of Adjacent Row value in a column is zero and Date column has difference of 90 days
[英]SQL Query to get only those rows with only 1 value in another column
我有一张这样的桌子:
我需要一个查询来仅返回那些只有 State=21 的 ProjectID。 即我只想要 ProjectID 2 和 5。
我不想要 ProjectID 为 1、3、4 和 6 的记录,因为在这种情况下,state 也等于其他数字
推理就像
HAVING
子句仅保留仅具有 state = 21 的那些 ProjectIDSQL 声明
SELECT ProjectID
FROM table t1
INNER JOIN (
SELECT ProjectID
FROM table
WHERE state = 21
) t2 ON t2.ProjectID = t1.ProjectID
GROUP BY
ProjectID
HAVING COUNT(*) = 1
Select 具有单个 state 值的所有项目,顺便说一下,它(“值”)等于指定的值:
SELECT ProjectID
FROM atable
GROUP BY ProjectID
HAVING COUNT(*) = 1
AND MAX(State) = @State
您还可以使用MIN
、 SUM
或AVG
来检查State
的值,效果相同(因为它应该是唯一的值)。
select ProjectID,count(State) from table group by ProjectID having count(state)=1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.