选择非重复和最新的一个


Select distinct and the most recent one

我正在尝试获取最新的 bahis.ID,bahis.isim field witch 有一个 JOIN 规则。但是在这个我得到同样的bahis。ID和bahis.isims。我想得到他们最近的一个,然后继续。

我尝试了很多,但都以某种方式失败了。这是我最近的最后一个查询;

SELECT bahis.ID, bahis.isim 
FROM bahis 
JOIN yorumbahis 
  ON yorumbahis.bahisid = bahis.ID 
ORDER BY yorumbahis.ID DESC LIMIT 0,12

简单地说,我该怎么做?

结果:

74 dfgfdggdf5455
68 sdffcc33
68 sdffcc33
76 adsadsd333
76 adsadsd333
74 dfgfdggdf5455
86 hjjk khjjk
73 cdsc4344
63 aaaaxxxxsssxxx
76 adsadsd333
76 adsadsd333
76 adsadsd333

预期成果;

74 dfgfdggdf5455
68 sdffcc33
76 adsadsd333
86 hjjk khjjk
73 cdsc4344 
63 aaaaxxxxsssxxx
AND CONTINUE...

使用此示例

CREATE TABLE bets        (`ID` int, `name` varchar(14)); 
INSERT INTO bets (`ID`, `name`) 
VALUES 
(1, 'a'),     (2, 'b'), 
(3, 'c'),     (4, 'd'), 
(5, 'e'); 
CREATE TABLE comments    (`ID` int, `betid` varchar(14)) 
; 
INSERT INTO comments     (`ID`, `betid`) 
VALUES 
(1, '2'),     (2, '2'), 
(3, '3'),     (4, '1'), 
(5, '4'),     (1, '3'), 
(2, '4'),     (3, '1'), 
(4, '2'),     (5, '2');

SQL小提琴演示

SELECT b.name, MAX(c.id)
FROM bets b 
JOIN comments c 
ON b.`ID` = c.`betid`
GROUP BY b.name
ORDER BY MAX(c.id) DESC;

输出

| name | MAX(c.id) |
|------|-----------|
|    b |        10 |
|    a |         8 |
|    d |         7 |
|    c |         6 |
SELECT bahis.ID, max(bahis.isim) 
FROM bahis 
JOIN yorumbahis 
  ON yorumbahis.bahisid = bahis.ID 
group by bahis.id
ORDER BY yorumbahis.ID DESC LIMIT 0,12