我有一个这样的表:
moment(your_date).tz('Desired Timezone').format('ha z')
我希望输出为: name col2 cnt
B5 2.00000000 62
B6 2.00000000 9
B4 3.00000000 1
B5 3.00000000 75
B6 3.00000000 62
B5 4.00000000 9
B6 4.00000000 11
B5 5.00000000 102
B6 5.00000000 37
,即B4
中从未出现2.00000000的所有名称。我怎么做?我正在使用SQL Server。
答案 0 :(得分:2)
您可以使用EXISTS
和相关子查询来检查2.00000000
的值name
是否存在。
SELECT DISTINCT
t1.name
FROM elbat t1
WHERE NOT EXISTS (SELECT *
FROM elbat t2
WHERE t2.name = t1.name
AND t2.col2 = 2.00000000);
(我假设2.00000000
是数字。如果是字符串,请用单引号引起来。)
或者,您可以使用条件聚合来计算2.00000000
的出现。使用HAVING
仅保留此计数为0
的行。
SELECT t1.name
FROM elbat t1
GROUP BY t1.name
HAVING count(CASE
WHEN t.col1 = 2.00000000 THEN
1
END) = 0
答案 1 :(得分:1)
select distinct t1.name
from yourtable t1
where t1.name not in (
select t2.name
from yourtable t2
where t2.col2 = 2.00000000)
答案 2 :(得分:1)
如果2.00000000
是可能的最小值,则可以执行以下操作:
select name
from t
group by name
where min(col2) > 2.00000000;