我希望这是一个简单的.我已经搜索过但无法找到一个好的工作示例.
Transact SQL很方便 SELECT TOP 4 [whatever] FROM.........
我只是想从表中选择最后4个条目,不要太多问它是不是真的?!!
你会认为M $现在已经涵盖了这个!
sql = "SELECT TOP 4 [news_title], [news_date_added], [news_short_description],
[news_ID] FROM [Web_Xtr_News] WHERE ([news_type] = 2 OR [news_type] = 3) AND
[news_language] = '" + Language + "' ORDER BY [news_ID] ASC"
Run Code Online (Sandbox Code Playgroud)
这将选择在表格中输入的第一个4项,我需要最后4个.
Mic*_*uen 18
正是这样:http://www.sqlfiddle.com/#!3/6c813/1
with bottom as(
select top 4 *
from tbl
order by n desc
)
select *
from bottom
order by n
Run Code Online (Sandbox Code Playgroud)
数据源:
| N |
|----|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
Run Code Online (Sandbox Code Playgroud)
输出:
| N |
|----|
| 7 |
| 8 |
| 9 |
| 10 |
Run Code Online (Sandbox Code Playgroud)
为什么不继续使用TOP,并颠倒顺序?
SELECT TOP 4 [news_title],
[news_date_added],
[news_short_description],
[news_ID]
FROM [Web_Xtr_News]
WHERE ([news_type] = 2
OR [news_type] = 3)
AND [news_language] = @Language
ORDER BY [news_ID] DESC
Run Code Online (Sandbox Code Playgroud)
当然重写为使用参数,原来很容易受到SQL注入.