假設我有以下的Groovy類(或Java中的等價物)休眠:找到重複
class User {
Long id
String name
}
我想編寫一個Hibernate查詢(或HQL或條件),返回所有具有在用戶至少有一個同名的其他用戶。
更新
下面的語句已經提出
select min(user.id), user.name
from User user
group by user.name
having count(user.name) > 1
然而,有幾個問題是:
- 實際上它並不返回用戶對象,只是他們的ID和名稱
- 如果有3個用戶具有相同的名稱,它只會返回其中一個的ID,而我希望全部3
- 它可能無法在MySQL上使用,這是我正在使用的RDBMS。
謝謝, 唐
+1我剛纔說的,但你更快地到了那裏。 – 2009-12-04 22:29:45
雖然這不會正常工作,但您需要min(user.id),因爲user.id不包含在組中 – 2009-12-04 22:30:54
@Reverend Oops,沒錯。感謝您指出了這一點。 – 2009-12-04 23:07:38