I have table user
:
user_id status
1010 1
1010 3
1010 3
1011 5
1011 2
1011 3
1012 3
1012 3
i want to filter user_id
with the condition that the number "3" in the status
column cannot appear more than once.
Expected output:
user_id
1011
I tried this query:
select * from (
select user_id, status,
count(status) over (partition by status,user_id) as `sc`
from df
)
where sc<=1
order by user_id
2
Answers
Use aggregation and set the condition in the
HAVING
clause:You can use in MySQL HAVING and a conditional
SUM
fiddle