There is a table t1:
x
id type
1 a
1 b
2 c
2 a
3 a
3 a
4 a
Now I need to check if the id only has type a
and the count is 1 (single), i.e., only id 4 satisfies this condition in the data above
SELECT type, COUNT (1)
FROM t1
where id = :id
GROUP BY type
HAVING COUNT (1) = 1;
I use the above SQL query to get the data and then use it in code. It’s not a good solution, can anyone help me to get the correct result with one SQL query?
Advertisement
Answer
I would simply do:
SELECT id
FROM t1
GROUP BY id
HAVING COUNT(*) = 1 AND MIN(type) = 'a';