我的SQL查询使用GROUP BY函数获取中间行值

Din*_*esh 5 php mysql mysqli

我的数据库结构是这样的

Id     Price     Code
1      0.12      93
2      0.13      93
3      0.54      93
4      0.96      93
5      0.10      94
6      0.30      94
7      0.90      94
8      1.40      94
9      2.30      94
Run Code Online (Sandbox Code Playgroud)

我必须使用逐个代码获取数据,我希望中间行作为输出.在上面的例子中,我希望输出为

Id     Price     Code
3      0.54      93
7      0.90      94
Run Code Online (Sandbox Code Playgroud)

以上是我想要的中间行输出或者在两个中间行的情况下具有最大价格值的行,如行数4,6,8的情况

Vas*_*lov 1

SELECT table1.* 
FROM table1
JOIN (
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX( GROUP_CONCAT(id ORDER BY id ASC), ',', CEIL(COUNT(*) / 2) ), ',', -1) AS id
    FROM table1
    GROUP BY CODE
) t USING(id) 
Run Code Online (Sandbox Code Playgroud)

http://sqlfiddle.com/#!2/fdc22/14