mysql 添加索引 mysql 如何创建索引
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE table_name
ADD PRIMARY KEY ( column
)
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE table_name
ADD UNIQUE ( column
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE table_name
ADD INDEX index_name ( column
)
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE table_name
ADD FULLTEXT ( column
)
5.添加多列索引
mysql>ALTER TABLE table_name
ADD INDEX index_name ( column1
, column2
, column3
)
排序
row_number对应唯一排序:1、2、3、4
dense_rank对应相同次序可重复,但不跳过下一个次序值:1、2、2、3
rank对应相同次序可重复,并且跳过下一个次序值:1、2、2、4
where in 可以多个条件一起 如下:
牛客sql67
select du.name as u_n,dc.name as c_n,dl.date
from login dl
left join user du on du.id = dl.user_id
left join client dc on dc.id = dl.client_id
where (dl.user_id,dl.date) in
(select user_id, max(date) as date
from login
group by user_id
)
order by du.name
SELECT语句执行顺序
SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行:
开始->FROM子句->WHERE子句->GROUP BY子句->聚集函数(sum(),count()…)->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果
每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句,就跳过