我正在使用的查询:
SELECT COUNT(*),
SUM(amount) AS amount,
FROM_UNIXTIME(added, '%W (%e/%m)') AS daily
FROM affiliates_earnings
WHERE added >= '1319074836'
AND added <= '1319679636'
GROUP BY daily
输出:
+----------+--------+-------------------+
| COUNT(*) | amount | daily |
+----------+--------+-------------------+
| 1 | 195 | Tuesday (25/10) |
| 4 | 470 | Wednesday (26/10) |
+----------+--------+-------------------+
我想展示的内容:
+-------+----------+--------+-------------------+
| i |COUNT(*) | amount | daily |
+-------+----------+--------+-------------------+
| 1 | 1 | 195 | Tuesday (25/10) |
| 2 | 4 | 470 | Wednesday (26/10) |
+-------+----------+--------+-------------------+
本质上,i
将是序号(即 1,2,3,4,5,6...)。
我将如何完成这个?
最佳答案
没有 ROW_NUMBER(),你可以伪造它 per this answer或 this one :
SELECT @i := @i + 1 AS i, COUNT(*), ...
FROM affiliates_earnings
JOIN (SELECT @i := 0) dummy
WHERE ...
GROUP BY ...;
关于相当于 MySQL $i++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7910989/