偶然到使用IMDB数据集,我似乎无法弄清楚的一个问题。这个问题问,只显示在1995年制作的电影的问题是,今年被列入每部电影的标题,即:“玩具总动员(1995年)”。你怎么能刮掉年从文本字符串?
这里的问题:
创建包含的1995年电影名称的表
我们有一个表:电影:ID,名称。
电影
id,name
1,Toy Story (1995)
2,Jumanji (1995)
3,Grumpier Old Men (1996)
4,Waiting to Exhale (1995)
5,Father of the Bride Part II (1998)
6,Heat (1995)
你会怎么掰开文本串逐年排序任何想法?
您可以使用like
:
where name like '% (1995)'
你的问题包含了两个问题,所以我会做基于
你会怎么掰开文本串逐年排序任何想法?
您可以使用SUBSTRING()
排序的数据:
ORDER BY SUBSTRING(name, LOCATE('(', name)+1, 4)
参照标题,而不是内容,问题的...
SELECT * FROM my_table ORDER BY SUBSTRING_INDEX(name,'(',-1) + 0;
+----+------------------------------------+
| id | name |
+----+------------------------------------+
| 1 | Toy Story (1995) |
| 2 | Jumanji (1995) |
| 4 | Waiting to Exhale (1995) |
| 6 | Heat (1995) |
| 3 | Grumpier Old Men (1996) |
| 5 | Father of the Bride Part II (1998) |
+----+------------------------------------+