Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 SQL:计算每个记录的列值_Php_Mysql_Sql - Fatal编程技术网

Php SQL:计算每个记录的列值

Php SQL:计算每个记录的列值,php,mysql,sql,Php,Mysql,Sql,我一直在创建查询 我得到了一个具有以下结构的表“视频”: id | artist | song | hits 记录如下: 1 | Rihanna | Song1 | 400 2 | Rihanna | Song2 | 100 3 | Prince | Song45 | 300 4 | The Police | Song456 | 1000 这是我的非工作查询: SELECT DISTINCT artist, SUM(hits) FROM videos ORDER BY hits DESC

我一直在创建查询

我得到了一个具有以下结构的表“视频”:

id | artist | song | hits
记录如下:

1 | Rihanna | Song1 | 400
2 | Rihanna | Song2 | 100
3 | Prince | Song45 | 300
4 | The Police | Song456 | 1000
这是我的非工作查询:

SELECT DISTINCT artist, SUM(hits)
FROM videos
ORDER BY hits DESC
结果是:

Rihanna | 1800
但我希望得到这样的结果:

Rihanna | 500
Prince | 300
The Police | 1000
我做错了什么

SELECT artist, SUM(hits) as hitscount
FROM videos
GROUP BY artist
ORDER BY hitscount DESC

从评论中添加了建议。谢谢

添加艺术家分组(在ORDER BY之前)。无需进行区分。我会添加一个列别名hitscount,并在ORDER BY中使用它。那么,在ORDER子句中是否可以访问别名?是的,它是可访问的。更好。一般来说,尽量避免两次写同一个表达式。这更容易写(没有错误),阅读和维护。我不知道这是否可能。这不可能适用于所有rdbms。