gpt4 book ai didi

php - MySQL GROUP BY 优先考虑某些行

转载 作者:行者123 更新时间:2023-11-29 23:18:45 28 4
gpt4 key购买 nike

我有一个 MySQL 表,其设置与此类似

id, eventid, event                           , venue    , performer      , popular, image
2, 5895 , Garth Brooks and Trisha Yearwood, TD Garden, Trisha Yearwood, n , empty
1, 5895 , Garth Brooks and Trisha Yearwood, TD Garden, Garth Brooks , y , garth.jpg

数据库中每个事件的每个表演者都有一行。我需要做的是SELECT * FROM events_table WHERE venue = 'TD Garden'但我需要按事件 ID 对它们进行分组,否则会显示同一事件的多行。

问题是我需要以某种方式将它们优先分组到流行 = y 的行。否则特丽莎·耶尔伍德可能会出现,但不会有她的照片。我不只选择流行 = y 的所有内容的原因是因为有些事件可能一开始就没有任何受欢迎的艺术家,而我需要 TD Garden 的所有事件而不仅仅是受欢迎的艺术家。

我问的问题可以用 SQL 实现吗?抱歉,如果我的问题太令人困惑。

最佳答案

子查询选择每个事件的最大流行度 ('y'>'n'),因此条件 (eventid,popular) in (...) 删除在他/她表演的事件中不受欢迎的艺术家的行。

select *
from events_table
where
venue = 'TD Garden' and
(eventid,popular) in (
select
eventid,
max(popular)
from events_table
group by eventid
)
group by eventid

关于php - MySQL GROUP BY 优先考虑某些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27530087/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com