我有这样的表和记录的MySQL:排序根据2条
Table: advertiser
id | company_id | start_date | end_date
----+----------------+----------------+-------------
1 | 2 | 2016-08-01 | 2016-10-12
2 | 3 | 2016-09-14 | 2016-12-01
3 | 2 | 2016-10-15 | 2017-02-10
我想从这个表由start_date
排序选择记录group by company_id
而是因为我通过company_id
分组我只需选择ID:3所以在将此记录显示在列表的末尾。
这是我的查询:
SELECT id
FROM advertiser
WHERE end_date >= NOW()
GROUP BY company_id
ORDER BY start_date ASC
并将选定的记录ID将是:
first: 2
second: 3
如何选择这样的记录?
first: 3
second: 2
UPDATE:
我忘了补充where
到我的查询。
为什么'3'将是第一? '2'有一个早和最后'start_date' –
'...... ORDER BY MAX(start_date)DESC' – spencer7593
在你的查询中,为什么你的'SELECT id'而不是'SELECT company_id'? –