简体   繁体   English

通过SubSonic获得不同的月份和年份

[英]Get distinct month and year with SubSonic

I have date type column (MySQL): 我有日期类型列(MySQL):

SELECT invdate FROM invoices;

invdate
-------
2009-08-22
2009-07-12
2009-08-23
-------

and I want get month and year like this: 我想要这样的月份和年份:

SELECT DISTINCT MONTH(invdate) AS invmonth, YEAR(invdate) AS invyear FROM invoices;

how to use in C# with SubSonic (SimpleRepository)? 如何在C#中使用SubSonic(SimpleRepository)?

TIA TIA

Have you had a chance to have a look at the docs? 您是否有机会查看文档? See the link and code below, it should help. 请参阅下面的链接和代码,它应该会有所帮助。

http://subsonicproject.com/docs/Distinct http://subsonicproject.com/docs/Distinct

[Test]
public void SqlQuery_when_setting_distinct_it_should_set_IsDistinct()
{
    SubSonic.SqlQuery query= new 
        Select(Product.SupplierIDColumn).From<Product>().Distinct();
    Assert.IsTrue(query.IsDistinct);
}

[Test]
public void SqlQuery_should_handle_distinct()
{
    ProductCollection select = new 
        Select(Product.SupplierIDColumn).From<Product>().Distinct()
        .ExecuteAsCollection<ProductCollection>();

    Assert.AreEqual(29, select.Count);

}

[Test]
public void SqlQuery_GetRecordCount_should_handle_distinct()
{
    int select = new Select(Product.SupplierIDColumn)
        .From<Product>().Distinct()
        .GetRecordCount();

    Assert.AreEqual(29, select);
}

OMG! 我的天啊! I forgot to define variable as date/datetime, so I can not use these functions. 我忘记将变量定义为日期/日期时间,因此无法使用这些功能。

before: 之前:

public string invdate { get; set; }

after: 后:

public DateTime invdate { get; set; }

My mistake, I'm sorry. 我的错,对不起。 Problem solved . 问题解决了

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM