请帮我解决下一个问题。 我有下一张桌子:
| Name | Size | DateTime |
|--------|--------|--------------|
| Adi | 120 | 2017-01-26 |
|--------|--------|--------------|
| Mark | 225 | 2017-01-11 |
|--------|--------|--------------|
| Adi | 150 | 2017-01-28 |
|--------|--------|--------------|
| Adi | 115 | 2017-02-01 |
|--------|--------|--------------|
| Adi | 170 | 2017-02-05 |
|--------|--------|--------------|
我需要再添加一个列,其中包含每个名称的所有注册(如果存在),或者按DateTime列进行dedereb,如下所示:
| Name | Size1 | Size2 | Size3 |
|--------|-------|-------|-------|
| Adi | 120 | 150 | 115 |
|--------|-------|-------|-------|
我尝试过:
SELECT DISTINCT table.Name, table.Size
FROM database.table AS table
JOIN database.table AS table1
ON table.Name = table.Name
感谢您的帮助!
答案 0 :(得分:1)
按您想要唯一的列分组。像min()
这样的聚合函数适用于每个唯一的组,而不是整个结果集
select name,
min(size) as size1,
max(size) as size2
from your_table
group by name
having min(size) <> max(size)