を提供し、私は次の表(mTable)SQL文が予期しない結果
id | sent | number
---------------------------------------
23 | 2017-03-02 00:00:00 | 0
23 | 2017-03-04 00:00:00 | 0
45 | 2017-03-15 00:00:00 | 1.8
45 | 2017-03-17 00:00:00 | 1.9
id: integer, not unique, no primary key
sent: timestamp
number: float
にSQL文をしました:
SELECT DISTINCT `id`, number as mynum, MAX(`sent`) AS sentOn FROM `mTable` GROUP BY `id`
結果は次のとおりです。
id | mynum | sentOn
------------------------------------
23 | 0 | 2017-03-04 00:00:00
45 | 1.8 | 2017-03-17 00:00:00
期待します結果は次のようになります。
id | mynum | sentOn
------------------------------------
23 | 0 | 2017-03-04 00:00:00
45 | 1.9 | 2017-03-17 00:00:00
2番目の行で、最新の送信日時(2017-03-17 00:00:00)のmynum(1.9)になると思います。 SQL-Queryは、2番目目の最新の送信日(2017-03-15 00:00:00)からmynum(1.8)を提供します。
問題を解決するためのヒントですか? ありがとうございました
このグループは、構文のMySQLのような種類には、間違っていないallowed..while SQL Serverがこの –
は、はい、それが許可されていることはできません、しかし、それは間違った結果を与えるです。 –