如何从MAX(ID), MIN(ID)
MYSQL查询中获取更多列?
目前我只能从这个查询中获得两个值:MAX(ID)和MIN(ID)
:
SELECT MIN(ID), MAX(ID)
FROM mytable
WHERE mytable.series = 'white'
;
需要像这样的伪查询来获得更多内容:
SELECT column1, column2
FROM mytable
WHERE series = 'white'
AND ID=Max(ID)
'AND GET ME ALSO'
WHERE series = 'white'
AND ID=Min(ID);`
查询列'series'等于'white'的行,应该返回2行。
第一行是ID=最小(ID)时的column1和column2。 第二行是ID=最大(ID)时的column1和column2。
但是如何实现呢?
IN
表达式内部的子查询可能会很慢,但是:a)在最新的MySQL中已经修复了这个bug,并且添加索引(无论如何都应该添加)将解决问题。 - Mark Byers(series, id)
上添加一个组合索引。 即使series
或id
或两者都已经分别建立了索引,也应该添加这个组合索引。 组合索引与单独索引列是不同的。 - Mark Byers