0

sqlite manager 中的查询不返回精确数据:这是我的 CREATE 表语句: sqlite manager 表创建 这是查询:

CREATE TABLE user_prayers ('id' INTEGER PRIMARY KEY  AUTOINCREMENT NOT NULL,'user_id' INTEGER,'date' DATETIME,'status' INTEGER, "", "namazname" TEXT)

插入数据库:

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”,请帮助我

4

1 回答 1

1

要同时获取statusnamazname值,您必须连接这些字符串(的第二个参数group_concat是分隔符):

SELECT date, group_concat(status || ' ' || namazname, ' ')
FROM user_prayers
WHERE user_id = '1'
GROUP BY date

但是,SQLite 的group_concat功能不允许指定订单;它总是以未定义的顺序返回值。

于 2013-05-15T20:02:28.687 回答