如何使用phpMyAdmin中的“每n组最大”查询修复错误?

问题描述 投票:0回答:1

我在phpMyAdmin中遇到了SQL查询的特定问题。我的查询仅适用于我的表中的第一个创建的实体(以及它的子项),但不适用于其他实体。可能是什么问题?

我试图在不同的数据库中使用该查询,它可以正常工作。

select title_media,MAX(LENGTH(text_media)) as TEXTFieldSize
                    from media
                    where LENGTH(text_media) = 
                    (select MAX(LENGTH(text_media)) from media ) AND fk_event=id_event 

我希望输出是具有最长text_media字段的媒体标题。对于第一个实体,它运行良好,但对于以下我只获得空行。

mysql sql phpmyadmin greatest-n-per-group
1个回答
0
投票

如果你试图为特定的test_media(等于fk_event)找到最长的<id_event>的媒体事件,那么你就错过了子查询中的条件

select m1.title_media,
       MAX(LENGTH(m1.text_media)) as TEXTFieldSize
from media m1
where LENGTH(m1.text_media) = (
   select MAX(LENGTH(m2.text_media)) 
   from media m2
   where m1.fk_event=m2.fk_event
) AND m1.fk_event=<id_event>
© www.soinside.com 2019 - 2024. All rights reserved.