Select 亚音速帮助,如何仅列出第一条记录

Select 亚音速帮助,如何仅列出第一条记录,select,subsonic,new-operator,subsonic2.0,Select,Subsonic,New Operator,Subsonic2.0,嗨,我正在用亚音速做一个小报告,我很好,我不知道如何在我的报告中只列出第一条记录,我正在做一些类似于: new Select("id,Name,place,group").From(User.Schema) .InnerJoin(Profile.Schema) .InnerJoin(userGroup.Schema)

嗨,我正在用亚音速做一个小报告,我很好,我不知道如何在我的报告中只列出第一条记录,我正在做一些类似于:

new Select("id,Name,place,group").From(User.Schema)
                                 .InnerJoin(Profile.Schema)
                                 .InnerJoin(userGroup.Schema)
                                 .Where("place")
                                 .IsEqualTo("insomeplace")
                                 .ExecuteReader();

    result:
    093007 Joe doe insomeplace S2A
    093007 Joe doe insomeplace S2A
    093007 Joe doe insomeplace S2A
    093007 Joe doe insomeplace S2A
我尝试了新选择(“bla-bla”).Distinct()新选择(“bla-bla”).Top(“1”),但这些似乎都不起作用。。。那我能做什么呢???有什么想法吗

当使用Top(“1”)时,我收到一个错误,上面说“您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在'1
user
id
user
Name
,Place,Place附近使用的正确语法 从
用户
“在第1行”

我用的是亚音速2.x


提前感谢

退出!!!!我提议使用

string sqlString = "Select * ...";
new InlineQuery().ExecuteReader(sqlString);

根据你问题中的参考资料,我假设你正在使用MySql。恐怕我对MySql了解不多,但以下内容可能会有所帮助:

  • 我可以向您保证.Top(“1”)在针对SQL Server的亚音速2.x中肯定有效
  • 您能否找到一个与SQL Server的MySql探查器等效的工具,以查看将哪些SQL代码发送到数据库
  • TOP1在MySql中不是有效的SQL,您需要使用LIMIT子句-
  • 您可以使用分页(…)方法:


    我不能百分之百确定是否必须使用
    Paged(1,1)
    Paged(0,1)
    ,请两者都尝试。

    另一种方法是使用
    .ExecuteSingle()
    ,这将只返回第一个结果。这样做的缺点是,数据库实际上会返回查询的所有行(亚音速只会丢弃除第一条记录以外的任何记录)。

    感谢您的回答和您的时间,我将尝试您的示例,我在过去几天中解决问题的方法是:字符串SQLPlaceSnall=“从用户中选择名称、地点、地点”;gv.DataSource=new InlineQuery().ExecuteReader(sqlplacesnall);gv.DataBind();我使用的是分组方式,我读到的是。Top适用于较旧版本的2.x亚音速…我希望在接下来的几个月内更改为3.0…再次感谢…您也可以将分组方式与亚音速一起使用:
    new Select(subsonic.Aggregates.GroupBy(“id”)、subsonic.Aggregate.GroupBy(“name”)、…)。From(…)
    oohh nice不知道…但是昨天我抓到了我的VS 2010 Sooo的新版本…是亚音速3.x时间;)谢谢你的支持谢谢….!!!我所做的是使用group by和InlineQuery方法解决了这个问题。。。
    new Select("id,Name,place,group").From(User.Schema)
                                     .InnerJoin(Profile.Schema)
                                     .InnerJoin(userGroup.Schema)
                                     .Where("place")
                                     .Paged(1, 1)
                                     .IsEqualTo("insomeplace")
                                     .ExecuteReader();