0

列 1 の最後の値を選択し、列 2 の最後の 5 行から最大値を選択して結合するにはどうすればよいですか?

このようなテーブルの場合:

Column_1      Column_2       Timestamp
5             3000           2013-07-31 12:00:00
3             1000           2013-07-31 11:00:00
6             2000           2013-07-31 10:00:00
2             4000           2013-07-31 09:00:00
1             5000           2013-07-31 08:00:00

結果は次のようになります。

Column_1      Column_2
5             5000

私のクエリは次のようなものです:

select COLUMN_1 from table_A order by Timestamp desc LIMIT 1
UNION
select MAX(COLUMN_2) from (select COLUMN_2 from table_A order by Timestamp desc LIMIT 0,5) as T1;

それは私にエラーを投げます: ERROR 1221 (HY000): UNION と ORDER BY の不適切な使用法

助けてください。ありがとう。

4

3 に答える 3

1

これらの 2 つの選択はあまり密接に関連していないため、2 つの別々の選択を作成してみませんか?!

コードの方が簡単で明確です。

于 2013-07-31T10:10:26.767 に答える
1

UNION選択に同じ列ヘッダーがないため、エラーが発生しています。を使用できるようにするUNIONには、2 つのパーツの列ヘッダーが同じである必要がありますがCOLUMN_1COLUMN_2

于 2013-07-31T10:12:45.623 に答える