Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL按行数的查询顺序?_Php_Mysql_Database_Sorting - Fatal编程技术网

Php MySQL按行数的查询顺序?

Php MySQL按行数的查询顺序?,php,mysql,database,sorting,Php,Mysql,Database,Sorting,我有一张投票表。有一个id、一个project\u id和一个vote字段(如果某个特定项目被投票,则该字段为1)。现在我想根据这些条目生成一个排名。有没有一种方法可以通过一个mysql查询获得每个项目的投票数,并根据项目的真实投票数自动对条目进行排序?或者你知道php的方法吗 e、 g ==> 2号项目有2票 1号项目有1票 提前谢谢 使用: groupby允许您获得每个项目id的投票总数,orderby DESC将最高投票数放在第一位 SELECT `project_id`, SUM

我有一张投票表。有一个
id
、一个
project\u id
和一个
vote
字段(如果某个特定项目被投票,则该字段为1)。现在我想根据这些条目生成一个排名。有没有一种方法可以通过一个mysql查询获得每个项目的投票数,并根据项目的真实投票数自动对条目进行排序?或者你知道php的方法吗

e、 g

==>

2号项目有2票

1号项目有1票

提前谢谢

使用:

groupby
允许您获得每个项目id的投票总数,
orderby DESC
将最高投票数放在第一位

SELECT 
   `project_id`, SUM(`vote`) AS vote_count 
FROM 
   `table_name` 
GROUP BY `project_id`
ORDER BY vote_count DESC
如果以后以关联数组的形式获取,则对总和使用别名将有助于在php中查找该列

SELECT 
    ProjectID,SUM(Vote) 
    FROM YourTable 
    GROUP BY ProjectID 
    ORDER BY Sum(Vote) DESC

投票栏中是否有任何一点,因为在计算项目的出现次数时,id应该给您投票数,除非某些人可能有加权投票或反对票,否则此栏是否多余?
Select project_id, Sum( vote ) project_vote
From votes
Group By project_id
Order By project_vote Desc
SELECT 
   `project_id`, SUM(`vote`) AS vote_count 
FROM 
   `table_name` 
GROUP BY `project_id`
ORDER BY vote_count DESC
SELECT 
    ProjectID,SUM(Vote) 
    FROM YourTable 
    GROUP BY ProjectID 
    ORDER BY Sum(Vote) DESC