sqlite manager中的查询返回的不是axact数据:这是我的CREATE表语句: 这是查询:
CREATE TABLE user_prayers ('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,'user_id' INTEGER,'date' DATETIME,'status' INTEGER, "", "namazname" TEXT)
在DB中插入:
INSERT INTO user_prayers (user_id,date,status,namazname) VALUES(1,'2013-01-05',1,"FAJR"),('1','2013-01-05',0,"ZOHAR"),('1','2013-01-05',1,"ASR"),('1','2013-01-05',0,"maghrib"),('1','2013-01-05',1,"ISHA");
这里成功插入的是快照:请忘记空列 现在我需要“STATUS”的值与其“NAMAZNAME”按照相同的插入顺序。因此使用此查询但未能获得结果:
SELECT date,group_concat(status,namazname) FROM user_prayers WHERE user_id ='1' GROUP BY date
这是结果的快照:
这是不准确但我想要这样的“状态”及其“namazname”的结果
1 FAJR 0 ZOHAR 1 ASR 0 MAGHRIB 1 ISHA
在我的查询中只选择4个namazname,同时按照相同的插入顺序选择状态请让我知道我做错了什么,以获得“namazname”帮助我
答案 0 :(得分:1)
要同时获取status
和namazname
值,您必须连接这些字符串(group_concat
的第二个参数是分隔符):
SELECT date, group_concat(status || ' ' || namazname, ' ')
FROM user_prayers
WHERE user_id = '1'
GROUP BY date
但是,SQLite的group_concat
函数不允许指定订单;它总是以未定义的顺序返回值。