[英]Returning multiple records whilst using a MAX function?
I'm not sure how to pose this question... This SQL string returns 1 result (I think due to the MAX part) but I would like it to return all records. 我不确定如何提出这个问题...此SQL字符串返回1个结果(我认为是由于MAX部分),但我希望它返回所有记录。
So is there a way in one SQL statement to retrieve all the records related to the event (WHERE ticket_event_no = :id) AND find the MAX finish date of the recordset (find the latest ticket_finish dateof all tickets found)? 那么,在一个SQL语句中是否有一种方法可以检索与该事件相关的所有记录(WHERE ticket_event_no =:id)并找到记录集的最大完成日期(查找所有找到的票证的最新ticket_finish日期)?
SELECT
MAX( ticket_finish ) AS cutOff, ticket_price, ticket_id, ticket_name, ticket_qty, ticket_start,
ticket_finish, ticket_max, ticket_type_no, ticket_min, ticket_order, ticket_fee
FROM
ticket
WHERE
ticket_event_no = :id
AND
ticket_hide = 0
Thanks in advance. 提前致谢。
Try this: 尝试这个:
SELECT
MAX( ticket_finish ) over () AS cutOff,
ticket_price, ticket_id, ticket_name, ticket_qty, ticket_start,
ticket_finish, ticket_max, ticket_type_no, ticket_min, ticket_order, ticket_fee
FROM ticket
WHERE ticket_event_no = :id AND ticket_hide = 0
You just need to grab your max date with a subquery in your select list: 您只需要在选择列表中的子查询中获取最大日期:
SELECT
(SELECT Max(ticket_finish) from ticket) as cutOff,
ticket_price,
ticket_id,
ticket_name,
ticket_qty,
ticket_start,
ticket_finish,
ticket_max,
ticket_type_no,
ticket_min,
ticket_order,
ticket_fee
FROM ticket
WHERE
ticket_event_no = :id
AND ticket_hide = 0
That will pull the max value of ticket_finish
and populate it as cutOff
in all rows. 这将拉动ticket_finish
的最大值,并在所有行ticket_finish
其填充为cutOff
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.