请帮助我解决下一个问题。我有下一个表:
| 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 |
|--------|--------|--------------|
我需要再放一列,其中每个名称的所有注册(如果存在),by dateTime列,则需要:
| 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
谢谢您的帮助!
组由您要唯一的列组成。诸如min()
之类的聚合功能适用于每个唯一组,而不是整个结果集
select name,
min(size) as size1,
max(size) as size2
from your_table
group by name
having min(size) <> max(size)