考慮下面的表...這個查詢是如何在mysql中完成的?
ID USER NUM
1 1 69
2 2 75
3 3 7
4 1 31
5 2 18
6 3 70
7 1 12
8 2 23
9 3 42
...這查詢將返回與最低 NUM爲每個用戶行?
結果應該像...
ID USER NUM
7 1 12
5 2 18
3 3 7
不能滿腦子都在這一個!假設它有一個GROUP BY
,但我嘗試失敗的一切...任何指針?
考慮下面的表...這個查詢是如何在mysql中完成的?
ID USER NUM
1 1 69
2 2 75
3 3 7
4 1 31
5 2 18
6 3 70
7 1 12
8 2 23
9 3 42
...這查詢將返回與最低 NUM爲每個用戶行?
結果應該像...
ID USER NUM
7 1 12
5 2 18
3 3 7
不能滿腦子都在這一個!假設它有一個GROUP BY
,但我嘗試失敗的一切...任何指針?
SELECT t.*
FROM tablename t
INNER JOIN (SELECT user, MIN(num) num
FROM tablename
GROUP BY user) x ON t.user = x.user AND t.num = x.num
或
SELECT t1.*
FROM tablename t1
LEFT JOIN tablename t2 ON t1.user = t2.user AND t1.num > t2.num
WHERE t2.id IS NULL
SELECT ID , MIN(NUM) as MIN_NUM , USER FROM usertable GROUP BY USER
這裏是另一種方法。 WITH THE正確REREFERENCE
查詢而更新
select b.id, a.user, a.minnum from
mytable as b
join
(select user, min(num) as minnum
from mytable
group by user
) as a
on b.user = a.user
where b.num = a.minnum
order by a.minnum asc
limit 3
;
結果:
ID USER MINNUM
3 3 7
7 1 12
5 2 18
你還需要有一個記者'id'?如果有幾行具有相同的'num',會怎麼樣? – zerkms
是的,它需要:P – neokio
是什麼?你正在試圖從結果中查詢? –