-3

ORDER BYを使用せずに、そのイベントのすべての列を表示しながら、イベントテーブルに最後に開催されたイベント(最後の日時)を表示する方法を見つけようとしています。

例えば:

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

MAX starttimeを入力すると、何も表示されません。MIN starttimeを入力すると機能しますが、その日付の最も早い時刻が表示され、最も遅い時刻は表示されません。

4

2 に答える 2

1

私はあなたがあなたの記録を印刷して階段に投げ捨てることができると思います、そして最も遠いものは「最も軽い」日付を持っています。順序なしで並べ替えることはできません。濡れていない水が欲しいようなものです。データが希望する順序で自然に出力されない限り、並べ替える必要があります。

もちろん、絶対的に最新の日付を持つレコードのみが必要で、その1つのレコード以上は必要ない場合は、

SELECT yourdatetimefield, ...
FROM yourtable
HAVING yourdatetimefield = MAX(yourdatetimefield)
于 2012-09-14T00:20:29.943 に答える
0

最新のアイテムのみをお探しの場合:

日付と時刻のフィールドが別々の場合、 EDITは少し複雑になりますが、これは機能するはずです。これは、日付と時刻を1つのフィールドに格納する必要がある状況にとってはばかげた恨みです。

SELECT * 
FROM (
  SELECT *
  FROM Events
  WHERE dateTime = (SELECT MAX(dateheld) FROM Events)
) temp
WHERE starttime = (SELECT MAX(starttime) FROM (
  SELECT *
  FROM Events
  WHERE dateTime = (SELECT MAX(dateheld) FROM Events)
) temp 2 )
于 2012-09-14T00:21:02.127 に答える