如何选择不同的一列(用户),然后根据这一列输出其余字段?
输入:
user age country
--------------------------------
Tom 34 US
Tom 32 EN
Dick 29 MX
Dick 29 DE
Harry 15 CA
输出(不同的用户列,并为其余字段选择一行输出):
user age country count
--------------------------------------
Tom 34 US 2
Dick 29 MX 2
Harry 15 CA 1
任何帮助将不胜感激!
答案 0 :(得分:1)
SELECT USER, AGE, MAX(COUNTRY), COUNT(*)
FROM TABLE
GROUP BY USER, AGE
您可以尝试更改MAX
的{{1}}。这里不需要MIN
。
您可以使用某些数据格式,例如DISTINCT
,但我不确定其余数据是否总是像美国和USS等。如果您有超过2/3或者更改开始超出,请购买特定字符,您可能会遇到一些错误的查询结果。
根据评论和更新。
SUBSTRING
答案 1 :(得分:0)
SELECT user, age, country, COUNT(*) AS c_rec FROM
(
SELECT DISTINCT user, age, SUBSTRING(country, 1, 2) AS country FROM yourTable
) T
GROUP BY user, age, country