0

如何选择不同的一列(用户),然后根据这一列输出其余字段?

输入:

  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

任何帮助,将不胜感激!

4

2 回答 2

1
SELECT USER, AGE, MAX(COUNTRY), COUNT(*) 
FROM TABLE
GROUP BY USER, AGE

您可以尝试更改MAXfor a MIN。这里不需要DISTINCT。您可以使用一些数据格式SUBSTRING,例如遇到一些错误的查询结果。

根据评论和更新。

SELECT USER, MAX(AGE), MAX(COUNTRY), COUNT(*)
FROM TABLE
GROUP BY USER.
于 2013-09-24T01:32:41.333 回答
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
于 2013-09-24T01:28:23.227 回答