【发布时间】:2011-04-09 12:40:12
【问题描述】:
我有两个表,关键字和数据。
表格关键字有2列(id,keyword),表格数据有3列(id[关键字的外键.id],name,value)。
我正在使用这个查询:
SELECT k.id, d.value, d.name
FROM keywords AS k
INNER JOIN data as d ON k.id = d.id
它返回类似:
1 123 name1
1 456 name2
2 943 name1
3 542 name1
3 532 name2
3 682 name3
每个 id 可以有从 0 到 3 的值(将来可能更多)。
如何检索同一行中具有相同 id 的所有行?
喜欢
1 123 456
2 943
3 542 532 682
我想这样做是因为我希望能够对值进行排序。
【问题讨论】:
-
这种转换确实比在应用程序端做的更好,而不是让 MySQL 做。
-
我同意 Amber 的观点,但如果您仍然只想使用 SQL,嗯.. 我会在谷歌上搜索“concat”和“group by”sql 函数的详细信息。
-
我想这样做是因为我希望能够对值进行排序,所以如果我可以直接从 mysql 中对其进行排序就好了。你知道我怎样才能轻松地对存储在 php 数组中的每一列进行排序吗?
-
您希望如何存储它们?如果您将它们与
GROUP BY... 连接在一起,则不一定保证顺序一致。
标签: sql mysql aggregate-functions