Ben*_*Ben 5 sql select substring max distinct
我有一个表格,其字段类似于:
ANIMAL
========
FISH 54
FISH 30
DOG 12
CAT 65
CAT 09
BIRD 10
FISH 31
DOG 10
Run Code Online (Sandbox Code Playgroud)
该领域可能后来添加了新的动物,例如
GOAT 72
DOG 20
Run Code Online (Sandbox Code Playgroud)
我想做的是创建一个SELECT查询,每个动物名称返回一个唯一的行,返回一个数据集,每个动物类型一行,我可以稍后解析,以列出我的表中的动物列表.
所以,在魔术之后,我会有
FISH 54
DOG 12
CAT 65
BIRD 10
GOAT 72
Run Code Online (Sandbox Code Playgroud)
...我将从中列出我的名单.
到目前为止,我一直得过且过周围的子查询,SELECT DISTINCT以及SUBSTRING(),但我觉得,任何结果我想出了大概会相比,SO蜂房头脑的威力苍白.有人可以帮忙吗?
UPDATE
如果它有帮助,我失败的尝试有点说明了我想做的事情:
SELECT DISTINCT substring(animal,1,4) FROM table;
Run Code Online (Sandbox Code Playgroud)
只是现在我没有全名,只是一个子串.:(
这适用于SQL Server.如果你使用其他东西,你需要找出左边的相应函数和charindex.左边当然可以用子串替换.
select distinct left(T.Animal, charindex(' ', T.Animal, 1)-1)
from YourTable as T
Run Code Online (Sandbox Code Playgroud)
结果:
-------------------------
BIRD
CAT
DOG
FISH
Run Code Online (Sandbox Code Playgroud)
在MySQL中,您将使用left和locate.(代码未经测试)
select distinct left(T.Animal, locate(' ', T.Animal, 1)-1)
from YourTable as T
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19397 次 |
| 最近记录: |