我的问题标题可能有点模糊,但这或多或少都是我想要做的。
我有两列,我想根据第一列(称之为nid)获取第二列的所有值(称之为哈希)。
因此,只要nid相同,就从哈希列中获取与该nid相对应的所有值。
类似于select hash from table where nid = the same
。
我将如何做到这一点?
我看到有Group By,但这似乎只给我一个哈希值。有没有办法用SQL查询来做到这一点?
| nid | hash |
| 2 | blah |
| 2 | test |
| 2 | goof |
| 3 | next |
| 3 | word |
所以,例如,如果我试图获得与nid 2相关的每个值,我想选择blah,test和goof。
答案 0 :(得分:1)
使用GROUP_CONCAT将返回第2列
中所有匹配值的串联字符串所以基本上就像下面这样:
SELECT nid, GROUP_CONCAT(hash) AS hashes
FROM tablename
WHERE nid IN (<somevaluesyouwant>)
GROUP BY nid