【问题标题】:MySQL - Add 'group by' rule on VIEW selectMySQL - 在 VIEW 选择上添加“分组依据”规则
【发布时间】:2018-10-02 16:31:04
【问题描述】:

我有一个带有 id 和状态字段的 VIEW。

select id, status
from inscricao_view;

它返回类似:

   id       | status
---------------------
   115      | authorized
   115      | paid
   231      | authorized
   231      | paid
   231      | authorized
   308      | paid
   308      | waiting_payment
   408      | waiting_payment

我正在尝试创建另一个视图,该视图将返回此视图,但按 id 分组。

这部分没问题,问题是我需要优先考虑“付费”状态,所以选择如下:

select id, status
from inscricao_view_2;

会返回:

   id       | status
---------------------
   115      | paid
   231      | paid
   308      | paid
   408      | waiting_payment

我尝试过使用 ORDER BY,现在我知道它不适用于 VIEWS。有什么建议吗?

【问题讨论】:

  • @MadhurBhaiya 感谢您的回复。选择确定的顺序有效,但此视图中的想法是已经具有此条件,并且比设置其他过滤器参数更容易,主要是使用数据表。如果我知道如何执行此视图,用户将能够轻松选择过滤器。
  • 请分享已经存在的inscricao_view的创建视图声明@

标签: mysql view group-by


【解决方案1】:

使用Field()函数,你可以尝试以下:

SELECT id, status
FROM inscricao_view_2 
ORDER BY FIELD(status, 'paid') DESC, status

【讨论】:

  • 感谢您的回复。选择确定的顺序有效,但此视图中的想法是在视图上已经具有此条件,并且比设置其他过滤器参数更容易,主要是使用数据表。如果我知道如何执行此视图,用户将能够轻松选择过滤器
  • @Moisés 您在寻找创建视图语句吗?
猜你喜欢
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多