如何用计算排名的结果制作表格?

我想使用表格中计算排名的结果制作新表格。我使用 PHP 和 MySQL。


我从谷歌搜索中得到了一些代码,它在屏幕上工作。


Select User_Id, Score, @rank := @rank + 1 as Ranking

    from Rankings, (select @rank := 0) XX

    order by Score desc

我想知道如何使用这些数据创建新表,以便我可以随时查看排名。我想知道这段代码是否适用于大数据(大量记录)。


任何人都可以帮助这个初学者吗?在此先感谢您的帮助。


蝴蝶刀刀
浏览 143回答 3
3回答

猛跑小猪

1:CREATE TABLE ... SELECT 语法:您可以通过在SELECT语句末尾添加语句来从另一个表创建一个表CREATE TABLE。CREATE TABLE new_table_name ASSELECT User_Id, Score, @rank := @rank + 1 AS RankingFROM Rankings, (SELECT @rank := 0) XXORDER BY Score DESC;注意:这将根据选择查询自动检测列数据类型和列名,有时它们不正确。要创建所需的列名及其数据类型,您可以在CREATE TABLE子句中提及相同的内容。CREATE TABLE new_table_name (user_id INT NOT NULL, rank INT)SELECT User_Id, Score, @rank := @rank + 1 AS RankingFROM Rankings, (SELECT @rank := 0) XXORDER BY Score DESC;2: INSERT ... SELECT 语法:这将用于在现有表中存储选择语句的数据。INSERT INTO existing_table_name (user_id, rank)SELECT User_Id, Score, @rank := @rank + 1 AS RankingFROM Rankings, (SELECT @rank := 0) XXORDER BY Score DESC;

森栏

您可以使用以下语法基于选择查询数据创建新表CREATE TABLE new_tbl [AS] select query;根据您的查询Create table Tablename AS Select User_Id, Score, @rank := @rank + 1 as Rankingfrom Rankings, (select @rank := 0) XXorder by Score desc有关更多信息,请参阅https://dev.mysql.com/doc/refman/5.6/en/create-table-select.html

烙印99

根据this和this,您可以使用CREATE TABLE ... SELECT语法。CREATE TABLE `UserRankings` AS SELECT User_Id, Score, @rank := @rank + 1 AS Ranking    FROM Rankings, (SELECT @rank := 0) XX    ORDER BY Score DESC
打开App,查看更多内容
随时随地看视频慕课网APP