sqlite3查询 - 值检索

时间:2012-06-26 05:39:44

标签: sql sqlite

Hi iam using sqlite3 and have following table : 

userId      name        rollNumber  class       section     fingerIdx          
----------  ----------  ----------  ----------  ----------  ------------------
1           ram         1           1           a           Right Thumb Finger
2           ram         1           1           a           Right Index Finger

我的表中有上述值。 我的要求是让单个结果行同时具有fingerIdx和除userId之外的所有其他值,例如“ram,1,1,a,'右拇指,右手指”。怎么弄这个?

1 个答案:

答案 0 :(得分:0)

group_concat功能可以满足您的需求。请参阅description here

修改

此查询适用于MySQL(我目前没有sqlite,但它应该以相同的方式工作):

select name, rollnumber, class, section, group_concat(fingerIdx) from so group by name, rollnumber, class, section;

输出:

+------+------------+-------+---------+-------------------------+
| name | rollnumber | class | section | group_concat(fingerIdx) |
+------+------------+-------+---------+-------------------------+
| ram  |          1 |     1 | a       | RightThumb,RightIndex   |
+------+------------+-------+---------+-------------------------+

<强> EDIT2:

顺便说一下:你应该过度思考你的桌子设计!似乎有两个条目为同一个用户,但具有不同的userIds!最好使user表格(userid, name, rollnumber, class, section)和另一个表格user_finger(或左右)与(userId, fingerIdx)