これが私のクエリです:
SELECT TOP 8 id, rssi1, date
FROM history
WHERE (siteName = 'CCL03412')
ORDER BY id DESC
この結果:
SQL を使用して、日付 (Column2) に基づいてこのテーブルを反転するにはどうすればよいですか?
これが私のクエリです:
SELECT TOP 8 id, rssi1, date
FROM history
WHERE (siteName = 'CCL03412')
ORDER BY id DESC
この結果:
SQL を使用して、日付 (Column2) に基づいてこのテーブルを反転するにはどうすればよいですか?
最初のクエリを使用して一致する ID を取得し、それらをIN
句の一部として使用できます。
SELECT id, rssi1, date
FROM history
WHERE id IN
(
SELECT TOP 8 id
FROM history
WHERE (siteName = 'CCL03412')
ORDER BY id DESC
)
ORDER BY date ASC
単純にサブクエリを使用できます。句を適用するとTOP
、ネストORDER BY
が許可されます。
SELECT X.* FROM(
SELECT TOP 8 id, Column1, Column2
FROM dbo.History
WHERE (siteName = 'CCL03412')
ORDER BY id DESC) X
ORDER BY Column2
サブクエリの SELECT クエリは、常に括弧で囲みます。COMPUTE または FOR BROWSE 句を含めることはできません。また、TOP 句も指定されている場合は、ORDER BY 句のみを含めることができます。
実行しませんでしたが、うまくいくはずです
WITH cte AS
(
SELECT id, rssi1, date, RANK() OVER (ORDER BY ID DESC) AS Rank
FROM history
WHERE (siteName = 'CCL03412')
)
SELECT id, rssi1, date
FROM cte
WHERE Rank <= 8
ORDER BY Date DESC
以下を試してください:
select * from (SELECT TOP 8 id, rssi1, date
FROM history
WHERE (siteName = 'CCL03412')
ORDER BY id DESC ) aa order by aa.date DESC
私はこれを実行していませんが、うまくいくと思います。実行して、エラーが発生した場合はお知らせください
id、rssi1、日付を選択 (SELECT TOP 8 id、rssi1、日付 FROM 履歴 WHERE (siteName = 'CCL03412') ORDER BY id DESC) order by date ;