从mysql查询获取正确的排序或结果

时间:2015-12-24 20:52:51

标签: c# mysql

我正在使用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);

我希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:2)

在子查询中按一个方向排序,然后在主查询中颠倒顺序:

SELECT *
FROM (SELECT ... ORDER BY mesgnumber DESC LIMIT 20) AS subquery
ORDER BY mesgnumber ASC