Question: I am not sure how to phrase this question so I'll give an example:

Suppose there is a table called `tagged` that has two columns: `tagger` and `taggee`. What would the SQL query look like to return the `taggee`(s) that are in multiple rows? That is to say, they have been tagged 2 or more times by any `tagger`.

I would like a 'generic' SQL query and not something that only works on a specific DBMS.

EDIT: Added "tagged 2 or more times by *any* tagger."

Answer: 
`HAVING` can operate on the result of aggregate functions. So if you have data like this:

```
Row    tagger  |  taggee
       --------+----------
1.     Joe     |  Cat
2.     Fred    |  Cat
3.     Denise  |  Dog
4.     Joe     |  Horse
5.     Denise  |  Horse

```

It sounds like you want **Cat**, **Horse**.

To get the taggee's that are in multiple rows, you would execute:

```
SELECT taggee, count(*) FROM tagged GROUP BY taggee HAVING count(*) > 1

```

That being said, when you say "select only rows with multiple hits for a specific column", which *row* do you want? Do you want row **1** for Cat, or row **2**?
```
select distinct t1.taggee from tagged t1 inner join tagged t2 
        on t1.taggee = t2.taggee and t1.tagger != t2.tagger;

```

Will give you all the taggees who have been tagged by more than one tagger