我的数据库结构就像
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
我必须使用按代码分组获取数据,并且我希望将中间行作为输出。
在上面的示例中,我希望输出为
Id Price Code
3 0.54 93
7 0.90 94
上面是我想要的输出,在中间两行的情况下,中间行或具有最大价格值的行,例如行数4,6,8
最佳答案
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)
http://sqlfiddle.com/#!2/fdc22/14
关于php - 我的SQL查询使用GROUP BY函数获取中间行值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14433948/