我有一個users
名稱和時區表。我想顯示每個時區的所有名稱。當我嘗試時:如何使用GROUP BY爲每個分組顯示多個對象而不是僅顯示一個對象?
SELECT timezone, name FROM users GROUP BY timezone;
它只給每個時區一個名稱。我想要列出每個時區的所有名稱。我將如何構造這種類型的查詢?
我有一個users
名稱和時區表。我想顯示每個時區的所有名稱。當我嘗試時:如何使用GROUP BY爲每個分組顯示多個對象而不是僅顯示一個對象?
SELECT timezone, name FROM users GROUP BY timezone;
它只給每個時區一個名稱。我想要列出每個時區的所有名稱。我將如何構造這種類型的查詢?
爲了讓所有的名字,你可以使用group_concat
但要確保group_concat_max_len
設置正確 https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
select
timezone,
group_concat(name) as names
FROM users GROUP BY timezone;
可以使用MySQLs GROUP_CONCAT()
功能,它會給你所有名稱的逗號分隔的列表。試試這個:
SELECT timezone, GROUP_CONCAT(name)
FROM users
GROUP BY timezone;
這裏是關於功能的reference。
然後不要使用'group by'。而不是按時區排序。 'group'將任何匹配的記錄收集到單個代表性記錄中。 –
'選擇時區,名稱來自用戶按時區排序,名稱? – Siyual