2

最新のイベントを一覧表示しようとしています(1行の出力のみ)

基本的に、イベントの最後の日付とイベントの最後の時間です。

以下のコードは、max(starttime)の場合は機能しませんが、min(starttime)の場合は機能します。

ただし、min(starttime)を実行すると、イベントの最終日が表示されますが、その最終日の最初のイベントが表示されます。

最終日の最終イベント時間の結果を取得したいのですが。(したがって、1行の出力のみ)

何か案は?

SELECT * from Events
where dateheld in (select max(dateheld) from events)
AND starttime in (select max(starttime) from events)
4

2 に答える 2

3

WHEREステートメントが2つの互いに素なセットを生成している可能性があるため、問題はロジックにあるようです(テーブルのmax(time)はmax(date)と行を共有しません)。次のようなものはどうですか:(DISTINCTは1つのレコードのみを保証します)

SELECT MAX(dateheld) AS 'MaxDate', starttime 
FROM Events
WHERE starttime in 
      (SELECT MAX (starttime) AS temp FROM events)
于 2012-09-02T02:30:39.843 に答える
1

結果を返される上位1レコードに制限できます。

select * from events
order by dateheld, starttime desc
limit 1

新しい要件を満たすように編集する

select max(starttime) as maxstart, dateheld
from events
where dateheld = (select max(dateheld) as maxdateheld from events)
于 2012-09-02T02:33:31.337 に答える