我正在使用C#。
我正在尝试运行查询以获取数据库中的最后20个结果,但它现在返回它们并且说最后一个条目是数字“1211”。
1211
1210
1209 .. etc
如果最后一个条目是“1211”,我需要它从“1191”开始并递增!
我现在正在使用它:
string query = string.Format("
SELECT mesgnumber, targetid, targettype, data, timestamp, sendingid, contenttype
FROM history
WHERE targetid='{0}'
AND targettype='{1}'
ORDER BY mesgnumber DESC
LIMIT 20",
target, IsGroupToInt);
我尝试了很多方法,但无济于事。我认为以下内容可行,但事实并非如此:
string query = string.Format("
SELECT mesgnumber, targetid, targettype, data, timestamp, sendingid, contenttype
FROM history
WHERE targetid='{0}'
AND targettype='{1}'
ORDER BY mesgnumber DESC
LIMIT 20,
mesgnumber ASC", target, IsGroupToInt);
我希望有人可以提供帮助。
答案 0 :(得分:2)
在子查询中按一个方向排序,然后在主查询中颠倒顺序:
SELECT *
FROM (SELECT ... ORDER BY mesgnumber DESC LIMIT 20) AS subquery
ORDER BY mesgnumber ASC