这个问题在这里已经有答案了:
mysql中的行号(24个答案)
两年前关门了。
我的问题:
SELECT education,nickname,height
ROW_NUMBER() OVER (PARTITION BY education ORDER BY height DESC) INDEX_NUM
FROM user
LIMIT 100;
我的表定义:
CREATE TABLE user (
female BOOLEAN NOT NULL,
nickname VARCHAR(60) NOT NULL,
id INT NOT NULL,
charm INT NOT NULL,
standardmember BOOLEAN NOT NULL,
idcard BOOLEAN NOT NULL,
age INT NOT NULL,
marriage VARCHAR(5) NOT NULL,
region VARCHAR(10) NOT NULL,
education VARCHAR(10) NOT NULL,
height INT NOT NULL,
weight INT NOT NULL,
constellation VARCHAR(5),
race VARCHAR(5),
animalzodiac VARCHAR(2) NOT NULL,
intro TEXT NOT NULL,
rage VARCHAR(10) NOT NULL,
rheight VARCHAR(15) NOT NULL,
rrace VARCHAR(10) NOT NULL,
reducation VARCHAR(10) NOT NULL,
rphoto VARCHAR(5) NOT NULL,
rmarriage VARCHAR(10) NOT NULL,
rregion VARCHAR(100) NOT NULL,
rhonesty VARCHAR(10) NOT NULL,
jobtitle VARCHAR(15),
industry VARCHAR(20),
companynature VARCHAR(10),
employeewelfare VARCHAR(10),
workintensity VARCHAR(10),
mobility VARCHAR(10),
careervsfamily VARCHAR(10),
overseaassignment VARCHAR(10),
college VARCHAR(30),
majortype VARCHAR(5),
languages VARCHAR(50),
birthplace VARCHAR(10),
residence VARCHAR(10),
nationality VARCHAR(15),
personality VARCHAR(5),
humor VARCHAR(6),
temper VARCHAR(6),
seriousness VARCHAR(15),
kidwish VARCHAR(5),
whentomarry VARCHAR(5),
longdistancelove VARCHAR(5),
dreammarriage TEXT,
livewithparents VARCHAR(5),
parents VARCHAR(5),
siblings VARCHAR(25),
financialsituation VARCHAR(10),
parentsinsurance VARCHAR(10),
parentsemployment VARCHAR(35),
sent BOOLEAN NOT NULL DEFAULT 0;
PRIMARY KEY (id)
);
我的目标是划分结果集并将它们按高度升序排序。这样地:
但我错了:
嗯,我不太擅长mysql和查询语法。如果我问了一个愚蠢的问题,请随意教我。谢谢。
1条答案
按热度按时间tvz2xvvm1#
尝试此查询:
我用的是
ROW_NUMBER
具有窗口功能。因为mysql支持只作为窗口函数使用的非聚集函数。对于这些,over条款是强制性的,例如:有关更多信息,请访问以下链接:
https://dev.mysql.com/doc/refman/8.0/en/window-function-descriptions.html