我正在查询我公司的订单表。我想添加一个列,用于计算我要查询的整个表的唯一“userId”。我的代码需要看起来像什么?
我已尝试计算distinct并将userId计为'num',但这并未返回所需的结果。
这不起作用:'''SELECT COUNT(userId)AS'num'FROM [table] GROUP BY UserId LIMIT 1000'''
我希望行看起来像“用户ID,总订单”,其中总订单是所有时间的UserIds计数的函数。
你不想要GROUP BY
。您想要以下列之一:
SELECT COUNT(userId), COUNT(DISTINCT userId)
FROM [table];
如果您COUNT userId和GROUP BY userId,您将获得每个唯一的userId以及userId有记录的次数。
SELECT COUNT(userId), userId FROM table GROUP BY userId
有关示例http://sqlfiddle.com/#!9/09408/786,请参阅此SQL Fiddle