shell
列转行
#统计列数
transpose=`head -n1 file.txt | wc -w`
#循环切
for i in `seq 1 $transpose`
do
# 此处列之间的分割为空格 -d ' '按照空格切分 -f 获得第几列
echo `cut -d ' ' -f $i file.txt`
done
获得某一行
awk 'NR == 10' file.txt #NR在awk中指行号
sed -n 10p file.txt #-n表示只输出匹配行,p表示Print
tail -n+10 file.txt|head -1 #tail -n +10表示从第10行开始输出
MySQL
functions 使用:
获得第n大的salary
-- 创建函数
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
set N = N - 1;
RETURN (
select distinct Salary from Employee order by Salary desc limit n,1
);
END
-- 使用函数
select getNthHighestSalary(2);