sql - 从 SQLITE 数据库中选择唯一的月份和年份

标签 sql sqlite

我在费用表中有一个名为(日期)的列,它以格式“2015-02-15”显示日期。我想建立一个独特的月份和年份的列表,以便用户可以选择要显示的月份。我尝试使用以下 answer没有任何运气。

"1" "1" "Food Shopping" "156"   "2015-01-15"
"2" "1" "Water" "200"   "2015-02-15"
"3" "2" "Car Maintenance"   "30"    "2014-12-15"
"4" "4" "Boobs" "200"   "2015-02-15"

所以理想情况下我应该得到

December 2014
January 2015
February 2015

有人能指出我正确的方向吗?谢谢。

最佳答案

您的date 列已采用正确的格式,因此无需使用unixepoch 修饰符。 只需将其从 original query 中删除即可:

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', date) m,
         strftime('%Y', date) y
    FROM expenses
)
ORDER BY y, m

关于sql - 从 SQLITE 数据库中选择唯一的月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28741318/

相关文章:

Mysql_将同一个表中的文本列中的值移动到数字列

sql - 在 SQL 中使用 JSON 更新表

mysql - 只有在mysql中不存在该过程时才创建存储过程

android - Android SQLite 中的多主键

c - 生成函数和全局变量

iphone - SQLite 中没有数据

node.js - 无法在 Node 6.x 中 NPM 安装 SQLite3

SQL Server - 使用 IN 比较 Varchar 值

sql - 最便携的 SQL 日期字符串格式

android - 带有参数化 IN (...) 子句的 Sqlite UPDATE