SQL表示法/变量名

时间:2017-08-07 14:17:09

标签: sql

假设我们有一个名为 date 的摘要表,其中包含以下字段: user_id song_id count daily 。它在每天结束时显示她的历史记录中有多少次用户听过某首歌。

第二个名为 daily 的表记录用户是否收听特定歌曲。该表用于更新第一个表。如果一首歌在 summary 表中但不在 summary 表中,则会在SELECT A.USERID, A.SONG, SUM(A.COUNT) COUNT FROM (SELECT USERID, SONG, COUNT FROM SUMMARY UNION ALL SELECT USERID, SONG, COUNT FROM DAILY WHERE DATE = NOW()) A GROUP BY A.USERID, A.SONG 表中创建一个具有相应计数的新记录。

问题/问题我正在查看一些示例解决方案,并且不确定此答案中的特定符号:

 COUNT 

为什么以下行中 A.COUNT 旁边有 SUM(A.COUNT) COUNT A ?同样,以下行中的 DATE = NOW()) WHERE DATE = NOW()) A 位于何处:{{1}}?

2 个答案:

答案 0 :(得分:0)

它是别名。该示例将表或字段名称别名为其他内容(在本例中为A)。

官方MySQL文档将在此为您提供帮助:https://dev.mysql.com/doc/refman/5.7/en/select.html

引用(我强调):

  

可以使用select_exprAS alias_name提供别名。别名是   用作表达式的列名,可以在GROUP BY中使用,   ORDER BYHAVING条款。例如:

     

SELECT CONCAT(last_name, ', ', first_name) AS full_name FROM mytable ORDER BY full_name;

     

别名时,AS关键字可选   select_expr带有标识符。前面的例子可能是   写得像这样:

     

SELECT CONCAT(last_name, ', ', first_name) full_name FROM mytable ORDER BY full_name;

答案 1 :(得分:0)

这些被称为别名,只需重命名该列即可。在Sum(A.Count)的情况下,这是必需的,因为函数的输出没有列名。

这与编写

无关
SUM(A.Count) AS Count,

SUM(A.Count) "Count",