从SQlite数据库获取唯一的月 - 年组合 [英] get Unique Month-Year combination from SQlite database

查看:85
本文介绍了从SQlite数据库获取唯一的月 - 年组合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将 NSDate 以双重格式存储在我的sqlite表中 - 使用 timeIntervalSince1970 功能。

I have NSDate stored in my sqlite table in double format - using timeIntervalSince1970 funciton.

现在我想要删除独特的日期组合,如

Now I want to retrive unique date combinatios like

{ 
    January 2014
    December 2013
    November 2013
    December 2012
    November 2012
    October 2011 
}

数据必须按排序顺序排列。我如何以这种格式获取数据?

Data have to be in sorted order. How can I get data in this format?

我已尝试使用日期功能

SELECT date(DateInterval, '%m', '%Y') FROM MyTable

但没有结果。

希望很好的帮助:)

感谢提前。

推荐答案

你在寻找这样的东西吗?

Are you looking for something like this?

SELECT CASE m 
       WHEN '01' THEN 'January' 
       WHEN '02' THEN 'Febuary' 
       WHEN '03' THEN 'March' 
       WHEN '04' THEN 'April' 
       WHEN '05' THEN 'May' 
       WHEN '06' THEN 'June' 
       WHEN '07' THEN 'July' 
       WHEN '08' THEN 'August' 
       WHEN '09' THEN 'September' 
       WHEN '10' THEN 'October' 
       WHEN '11' THEN 'November' 
       WHEN '12' THEN 'December' 
       END || ' ' || y AS dates
   FROM 
(
  SELECT DISTINCT 
         strftime('%m', DateInterval, 'unixepoch') m,
         strftime('%Y', DateInterval, 'unixepoch') y
    FROM MyTable
) q
 ORDER BY y DESC, m DESC

样本输出:


|         dates |
|---------------|
|  January 2014 |
| December 2013 |
| November 2013 |
|  October 2013 |

这是一个 SQLFiddle 演示

Here is a SQLFiddle demo

这篇关于从SQlite数据库获取唯一的月 - 年组合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆