2013-01-20 5 views
-2
없이 테이블에서 데이터를 얻을 수

가능한 중복 : 그MySQL은 중복

+------+------------+ 
| id | number  | 
+------+------------+ 
| 2 | 4   | 
| 4 | 3   | 
+------+------------+ 

새로 고침

같은 것을 얻을 필요가

Mysql DISTINCT not working if I add another column

mysql> select DISTINCT number, id from table order by rand() 

+------+------------+ 
| id | number  | 
+------+------------+ 
| 2 | 4   | 
| 1 | 3   | 
| 4 | 3   | 
| 3 | 4   | 
+------+------------+ 

+------+------------+ 
| id | number  | 
+------+------------+ 
| 3 | 4   | 
| 1 | 3   | 
+------+------------+ 

새로 고침 ....

+0

이 (가 아닌 임의의 행동에 만족 제외)'GROUP BY' –

+0

당신이 정말 45분 withi 두 번 같은 질문을 했 찾아? –

+0

새로 고침 할 때마다 마지막으로 호출되지 않은 중복 ID를 선택한다고 말하고 있습니까? 또는 하나의 호출은 최신 ID로 복제본을 가져오고 다른 하나는 최소 ID로 복제본을 가져옵니다. 중복 된 경우 세 번? –

답변

0
SELECT 
    (SELECT tt.id 
     FROM tableX AS tt 
     WHERE tt.number = t.number 
     ORDER BY RAND() 
      LIMIT 1 
    ) AS id, 
    number 
FROM 
    tableX AS t 
GROUP BY 
    number ; 
+1

Wooooooooooooooooow, 대단히 감사합니다. –

관련 문제