phpmyadmin mysql -按组选择MAX值返回其他列错误值

vc6uscn9  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(97)

我想通过code找到MAX值,我的数据如下:
| 标识符|日期|代码|标价|
| - -|- -|- -|- -|
| 七十四人|2022年1月4日|B|六十四|
| 九十一人|2022年1月7日|A级|一百七十四|
| 一百一十二个|2022年1月11日|B|一百二十八|
| 二百四十五人|2022年1月12日|C类|八四一|
| 五百五十个|2022年1月14日|A级|七十九|
| 七百八十|2022年1月20日|B|五十五人|
| 八二一|2022年1月23日|D级|四十五|
| 八六八|2022年1月28日|C类|五十个|
| 八百九十|2022年2月2日|B|四百六十七|
| 八九一|2022年2月3日|D级|五十八人|
| 八九二|2022年2月4日|A级|四百七十二|
我所期待的,它会返回如下所示:
| 标识符|日期|代码|标价|
| - -|- -|- -|- -|
| 二百四十五人|2022年1月12日|C类|八四一|
| 八百九十|2022年2月2日|B|四百六十七|
| 八九一|2022年2月3日|D级|五十八人|
| 八九二|2022年2月4日|A级|四百七十二|
我用下面的话查询:

select x.id, x.date, x.code, y.yprice
from data AS x
inner join
(
select id, date, code, MAX(price) AS yprice
from data
group by code
) y
on x.id = y.id AND x.code = y.code

并给予以下结果:

关于结果:MAX的值是正确的,但是iddate错误。
有什么想法来修复查询吗?
谢谢您...

qgzx9mmu

qgzx9mmu1#

SELECT X.ID,X.DATE,X.CODE,X.PRICE
FROM
(
 SELECT C.id,C.date,C.code,C.price,
  ROW_NUMBER()OVER(PARTITION BY C.code ORDER BY C.Price DESC)XCOL
    FROM test AS C
)X WHERE X.XCOL=1

你能试试这个吗

相关问题